一个Angular APP其实就是一个Angular Module,通常可以包含若干Controller、Service以及Directive。
Angular App的初始化过程
1. 启动阶段
浏览器解析DOM树,加载angular库
启动Angular应用
2. 初始化阶段
查找ng-app指令,
初始化必要组件创建injector
开始解析DOM树
3. 编译阶段
遍历DOM树,搜集指令
执行每个指令的Compile函数,处理DOM转换,编译模板
调用链接函数生成实时视图
4. 运行阶段
等待事件触发,执行$digest循环
检测到变化,调用$watch函数,再次执行$digest循环,直到没有变化
流程图:
Angular APP 的启动
- 自动启动
大部分情况下通过ng-app指令来进行自动引导启动
<body ng-app="helloApp" ng-cloak>
- 手动启动
同一个页面中可以包含多于一个的APP,但不能嵌套。同一页面中有多于一个APP时AngularJS不会自动帮你启动APP,你需要手动启动这些APP
//手动启动
angular.bootstrap(document, ['helloApp']);