一個Angular APP其實就是一個Angular Module,通??梢园舾蒀ontroller、Service以及Directive。
Angular App的初始化過程
1. 啟動階段
瀏覽器解析DOM樹,加載angular庫
啟動Angular應(yīng)用
2. 初始化階段
查找ng-app指令,
初始化必要組件創(chuàng)建injector
開始解析DOM樹
3. 編譯階段
遍歷DOM樹,搜集指令
執(zhí)行每個指令的Compile函數(shù),處理DOM轉(zhuǎn)換,編譯模板
調(diào)用鏈接函數(shù)生成實時視圖
4. 運行階段
等待事件觸發(fā),執(zhí)行$digest循環(huán)
檢測到變化,調(diào)用$watch函數(shù),再次執(zhí)行$digest循環(huán),直到?jīng)]有變化
流程圖:

ng-init.png
Angular APP 的啟動
- 自動啟動
大部分情況下通過ng-app指令來進行自動引導(dǎo)啟動
<body ng-app="helloApp" ng-cloak>
- 手動啟動
同一個頁面中可以包含多于一個的APP,但不能嵌套。同一頁面中有多于一個APP時AngularJS不會自動幫你啟動APP,你需要手動啟動這些APP
//手動啟動
angular.bootstrap(document, ['helloApp']);