Page 30 - AngularJS权威教程
P. 30

10  第 3 章  模块






                       第3章

                                       模    块







                 在JavaScript中,将函数代码全部都定义在全局命名空间中绝对不是什么好主意,这样做会导
             致冲突从而使调试变得非常困难,浪费宝贵的开发时间。
                 上一章介绍数据绑定时,我们把控制器的代码写到了一个在全局命名空间中定义的函数里:

                 function MyController($scope) {
                   var updateClock = function() {
                     $scope.clock = new Date();
                   };
                   setInterval(function() {
                     $scope.$apply(updateClock);
                   }, 1000);
                   updateClock();
                 };
                 本章将讨论如何写出高效、能用在生产环境中的控制器代码,并把它封装在一个我们称之为
             模块(module)的单元内。
                 在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可
             以包含多个模块,每一个模块都包含了定义具体功能的代码。

                 使用模块能给我们带来许多好处,比如:
                  保持全局命名空间的清洁;
                  编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
                  易于在不同应用间复用代码;
                  使应用能够以任意顺序加载代码的各个部分。
                 AngularJS允许我们使用angular.module()方法来声明模块,这个方法能够接受两个参数,
             第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。

                 angular.module('myApp', []);


                         这个方法相当于AngularJS模块的setter方法,是用来定义模块的。

                 调用这个方法时如果只传递一个参数,就可以用它来引用模块。例如,可以通过以下代码来
             引用myApp模块:

                 // 这个方法用于获取应用
                 angular.module('myApp')
   25   26   27   28   29   30   31   32   33   34   35