一、为什么要使用模块
二、什么是模块
AngularJS将相关的代码封装起来,通过某种命名方式进行调用。类似Java中的包。
AngularJS模块通常包括两部分:
- 模块可以定义自己的控制器、服务、工厂类以及指令。如以下伪代码:
angular.module('app',[])
.controller()//控制器
.factory()//工厂类
.config()//配置(如路由)
.directive()//指令
- 一个模块可以依赖其他模块,这样就可以使用其他模块中的函数。如下所示:
angular.module('app',['ngRoute','mapp.ui','awesome.fusioncharts'])
//此模块依赖3个其他的模块,分别是ngRoute、mapp.ui和awesome.fusioncharts
三、如何使用模块
angular.module('myapp',[]);
module函数中有两个参数。
第一个参数是该模块的名字,要对应页面上ng-app=“myapp”指定的名字;
第二个参数是一个数组,表示引用的其它模块,如果是空数组,那就是不依赖任何其它模块。比如:
//此模块依赖两个其他的模块,分别是ngRoute和ngAnimate
angular.module('app','ngAnimate'])
注意:有时候我们会见到这种形式出现:
angular.module(‘myapp’).controller()
这里的module函数中没有第二个参数,假如我们已经有一个文件定义过模块,那么在其他文件中这称之为模块的引用,是可以这样写的。否则,这种写法是不允许的。
这也正是我们下面将要讨论的常见的两个错误之一。
四、常见的两个错误
- 定义模块时,少了第二个参数
- 模块尚未定义,就在其他地方进行引用