【Angular】启动过程

来源:互联网 发布:java调用成员方法 编辑:程序博客网 时间:2024/06/11 02:56

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);
                                      });
                                }
                         ]);

0 0