在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了定义具体功能的代码。
使用模块能给我们带来许多好处,比如:
- 保持全局命名空间的清洁;
- 编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
- 易于在不同应用间复用代码;
- 使应用能够以任意顺序加载代码的各个部分。
AngularJS允许我们使用angular.module()
方法来声明模块,这个方法能够接受两个参数,第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。
angular.module('myApp', []);
这个方法相当于AngularJS模块的setter方法,是用来定义模块的。
调用这个方法时如果只传递一个参数,就可以用它来引用模块。例如,可以通过以下代码来引用myApp
模块:
// 这个方法用于获取应用
angular.module('myApp')
这个方法相当于AngularJS模块的getter方法,用来获取对模块的引用。
接下来,就可以在angular.module('myApp')
返回的对象上创建我们的应用了。
开发大型应用时,我们会创建多个模块来承载业务逻辑。将复杂的功能分割成不同的模块,有助于单独为它们编写测试。
参数
下面是angular.module()
的参数列表。
1name
(字符串)
name
是模块的名称,字符串变量。
2requires
(字符串数组)
requires
包含了一个字符串变量组成的列表,每个元素都是一个模块名称,本模块依赖于这些模块,依赖需要在本模块加载之前由注入器进行预加载。