模块化
模块即不同功能的模块。这些模块可以在一个JS文件中,也可以将它们放在不同的JS文件中,既一个JS文件为一个模块。
ng-app 指令
ng-app
指令的含义类似Java中的main
方法,是当前页面中应用的唯一主入口,所以一个页面中只能使用一次np-app
指令。
模块的依赖关系
因为使用这种方式只能指定一个应用入口模块,所以为了能使用多模块的特性,就需要抽象出一个主模块,然后将其他所有模块加入主模块的依赖关系中,这里要注意的是因为AngularJS中的模块依赖可以向下穿透,类似类的继承,所以加入主模块依赖关系中的模块并不是所有的模块,而只是处于依赖层级顶层的模块
模块的生命周期
在AngularJS中,模块有两个主要的生命周期方法,那就是.config()
和.run()
:
var mainModule = angular.module('mainModule', []);
mainModule.config(function(injectables) {
});
mainModule.run(function(injectables) {
});
.config()
方法的作用是在模块运行加载之前对模块进行配置,比如创建各种服务、创建自定义指令、注册过滤器等。.run()
方法相当于AngularJS应用的main
方法,在该方法里进行的配置都是运行时态的,比如对已经创建好的服务实例在应用运行期进行修改。
MVC
MVC是软件工程中的一种设计模式,既把应用系统分为模型(Model)、视图(View)和控制器(Controller)三个基本部分,并且模型层与视图层之间是相互隔离的。简单的描述每个部分的职能:
- 模型层:管理数据模型。
- 视图层:控制UI的展现更新等。
- 控制层:负责具体业务逻辑处理、请求处理转发等,是模型层和视图之间的桥梁。
AngularJS是为数不多实现了MVC设计模式的前端框架,为前端应用在开发时期的功能职责切分、代码复用及后期的维护提供了极大的便利。