1、加载模板
(1)publishExternalAPI(公布Api)
(1)挂载全局对象
(2)创建模块加载器
(3)定义ngLocale模块->定义$locale服务
(4)定义ng模块
(2)定义(延迟执行)
2、解析指令(Dom树)
angularInit:DomReady
(1)ng-app指令 查找appElement元素,ng-app启动应用
(1)createInjector定义、创建$injector服务
(1)创建$provide提供者
(2)创建$injector提供者和$injector服务实例
(3)加载ng模块
定义内置服务
(4)加载app模块
(2)解析应用Dom
injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animate',
function(scope, element, compile, injector, animate) {
scope.$apply(function() {
element.data('$injector', injector);
compile(element)(scope);
});
}
]);