Page 115 - AngularJS权威教程
P. 115

11.1 配置   95


                                                                                                     1


                       第11章                                                                          2

                                        AngularJS模块加载
                                                                                                     3


                                                                                                     4


                  AngularJS模块可以在被加载和执行之前对其自身进行配置。我们可以在应用的加载阶段应                                       5
              用不同的逻辑组。
                                                                                                     6
              11.1 配置
                                                                                                     7
                  在模块的加载阶段,AngularJS会在提供者注册和配置的过程中对模块进行配置。在整个
              AngularJS的工作流中,这个阶段是唯一能够在应用启动前进行修改的部分。
                                                                                                     8
                  angular.module('myApp', [])
                      .config(function($provide) {
                      });
                                                                                                     9
                  这本书的大部分内容都在使用config()函数的语法糖,并在配置阶段执行。例如,我们在某
              个模块之上创建一个服务或指令时:
                                                                                                     10
                  angular.module('myApp', [])
                  .factory('myFactory', function(){
                      var service = {};                                                              11
                      return service;
                  })
                  .directive('myDirective', function(){                                              12
                      return {
                          template: '<button>Click me</button>'
                      }
                  })                                                                                 13
                  AngularJS会在编译时执行这些辅助函数。它们在功能上等同于下面的写法:
                                                                                                     14
                  angular.module('myApp', [])
                  .config(function($provide ,$compileProvider) {
                      $provide.factory('myFactory', function() {
                          var service = {};                                                          15
                          return service;
                      });
                      $compileProvider.directive('myDirective', function() {                         16
                          return {
                              template: '<button>Click me</button>'
                          };                                                                         17
                      });
                  });

                  需要特别注意,AngularJS会以这些函数书写和注册的顺序来执行它们。也就是说我们无法                                       18
   110   111   112   113   114   115   116   117   118   119   120