For Angular to manage the DOM for your application, it needs to compile some or all of an HTML page. Angular does this initialization automatically when you load the angular.js script into your page and insert an ngApp
directive (attribute) into one of the page's elements. For example, we can tell Angular to initialize the entire document:
<!doctype html> <html ng-app> <head> <script src="angular.js"></script> </head> <body> I can add: {{ 1+2 }}. </body> </html>
You can also tell Angular to manage only a portion of a page. You would want to do this if you are using some other framework to manage other parts of the page. You do this by placing the ngApp
directive on one or more container elements in the document. For example:
<div ng-app> I can add: {{ 1+2 }} </div>
You can also ask ngApp
to load additional modules
containing services, directives or filers that you'll use on the page.
...
From a high-level, here's what Angular does during the initialization process:
The browser loads the page, and then runs the Angular script. Angular then waits for the
DOMContentLoaded
(or 'Load') event to attempt to initialize.
Angular looks for the ngApp
directive. If found it compilies the DOM element containing ngApp
and its children.
Angular creates a global variable angular
and binds all Angular APIs to this object's fields.