Directives HTML annotations that trigger JS behaviors
Modules Where our application components live
Controllers Where we add application behavior
Expressions How values get displayed within the page

ng-app Specifies where our app exists on the page ng-model Binds the value of the input to the variable, in both directions

Add dynamic content (in this case, the variable _name_) to our static HTML by wrapping it in double curly braces

Controller manages some portion of our application or a scope on our page


A directive is a marker on an HTML tag that tells Angular to run or reference some JavaScript code. Directives is how we bind the behaviour

For example ng-controller, ng-app, ng-model etc.

ng-hide and ng-show hide and show things respectively, based on boolean values. For example:

<button ng-show="store.product.canPurchase">Add to Cart</button>

will only show the ‘Add to Cart’ button if canPurchase is set to true..

ng-repeat will repeat (loop) the properties of an array, like the jQuery each() method.

<div ng-repeat="product in store.products" class="product row">
    <em class="pull-right">$</em>


Modules are where we write pieces of our Angular application. Where we define dependencies for our app.


Expressions allow you to insert dynamic values in your HTML

For example: , etc.


will output



<p>hello </p>

will output

<p>hello you</p>


Controllers are where we define our app’s behavior by defining functions and values.