AngularJS is a JavaScript framework. It can be added to an HTML page with a <script> tag.
AngularJS extends HTML attributes with Directives, and binds data to HTML with Expressions.
AngularJS is a JavaScript Framework
AngularJS is a JavaScript framework. It is a library written in JavaScript.
AngularJS is distributed as a JavaScript file, and can be added to a web page with a script tag:
AngularJS Extends HTML
AngularJS extends HTML with ng-directives.
The ng-app directive defines an AngularJS application.
The ng-model directive binds the value of HTML controls (input, select, textarea) to application data.
The ng-bind directive binds application data to the HTML view.
AngularJS Example
< html >
< script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js" > < /script >
< body >
< div ng-app= "" >
< p >Name: < input type= "text" ng-model= "name" > < /p >
< p ng-bind= "name" > < /p >
< /div >
< /body >
< /html >
Try it Yourself »
Example explained:
AngularJS starts automatically when the web page has loaded.
The ng-app directive tells AngularJS that the <div> element is the "owner" of an AngularJS application.
The ng-model directive binds the value of the input field to the application variable name.
The ng-bind directive binds the innerHTML of the <p> element to the application variable name.
AngularJS Directives
As you have already seen, AngularJS directives are HTML attributes with an ng prefix.
The ng-init directive initialize AngularJS application variables.
AngularJS Example
< p >The name is < span ng-bind= "firstName" > < /span > < /p >
< /div >
Try it Yourself »
Alternatively with valid HTML:
AngularJS Example
< p >The name is < span data-ng-bind= "firstName" > < /span > < /p >
< /div >
Try it Yourself »
You can use data-ng-, instead of ng-, if you want to make your page HTML valid. |
You will learn a lot more about directives later in this tutorial.
AngularJS Expressions
AngularJS expressions are written inside double braces: {{ expression }}.
AngularJS will "output" data exactly where the expression is written:
AngularJS Example
< html >
< script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js" > < /script >
< body >
< div ng-app= "" >
< p >My first expression: {{ 5 + 5 }} < /p >
< /div >
< /body >
< /html >
Try it Yourself »
AngularJS expressions bind AngularJS data to HTML the same way as the ng-bind directive.
AngularJS Example
< html >
< script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js" > < /script >
< body >
< div ng-app= "" >
< p >Name: < input type= "text" ng-model= "name" > < /p >
< p > {{name}} < /p >
< /div >
< /body >
< /html >
Try it Yourself »
You will learn more about expressions later in this tutorial.
AngularJS Applications
AngularJS modules define AngularJS applications.
AngularJS controllers control AngularJS applications.
The ng-app directive defines the application, the ng-controller directive defines the controller.
AngularJS Example
First Name: < input type= "text" ng-model= "firstName" > < br >
Last Name: < input type= "text" ng-model= "lastName" > < br >
< br >
Full Name: {{firstName + " " + lastName}}
< /div >
< script >
var app = angular.module(' myApp', []);
app.controller(' myCtrl', function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
});
< /script >
Try it Yourself »
AngularJS modules define applications:
AngularJS Module
AngularJS controllers control applications:
AngularJS Controller
$scope.firstName= "John";
$scope.lastName= "Doe";
});
You will learn more about modules and controllers later in this tutorial.