Go Pro

Article

New to AngularJS 1.x? Start learning here.

AngularJS 1.x provides a lot of utility. What does this mean? Well, it means that there is a lot of things for you to learn.

Luckily there is a shed load of great resources for you to get started, including lessons here on egghead!

Step One

The very first step to conquering AngularJS is getting it "installed" or added to your project.

With that behind us, we'll start to take a look at some of the core functionality that Angular provides.

The Basics

Two-way binding is a fundamental feature of AngularJS.

You'll quickly want to get your javascript out of your markup, and into controllers.

Once you've started using controllers, you will need to get them talking to one another.

Controllers allow you to define properties and methods that your views can utilize.

Filtering Data

Filters provide a reusable, testable, encapsulated approach to modifying data. From strings, to arrays, to plain old objects, filters take input, transform it, and deliver the transformed data as a result.

The ng-repeat directive is very handy, and allows you to repeat elements on the view based on a collection. It is also common to use filters to transform the repeater's input.

Angular comes with several builtin filters.

Directives

Directives just might be the "secret sauce" of AngularJS. The killer feature. That said, they are arguably the steepest cliff when climbing the Angular learning curve.

Now that you've gotten your first directive out of the way (twice!), it's time to start looking at basic behaviors.

Directives can be restricted to elements, attributes, and CSS classes.

Beyond only the most trivial of directives, you will quickly need to dig into isolated scopes.

What now?

This guide is a living document. We'll be updating it until it is a complete outline, as well as providing other guides to help you up ng-mountain. Until then, be sure to check out the rest of the lessons covering AngularJS on egghead.io!

You might also like An Introduction to the AngularJS Directive [Part 1]