配置
在模块的加载阶段, AngularJS会在提供者注册和配置的过程中对模块进行配置。在整个AngularJS的工作流中,这个阶段是唯一能够在应用启动前进行修改的部分。
angular.module('myApp', [])
.config(function($provide) {
});
angular.module('myApp', []).factory('myFactory',
function() {
var service = {};
return service;
}).directive('myDirective',
function() {
return {
template: '<button>Click me</button>'
}
})
上面的等效于下面的
angular.module('myApp', []).config(function($provide, $compileProvider) {
$provide.factory('myFactory',
function() {
var service = {};
return service;
});
$compileProvider.directive('myDirective',
function() {
return {
template: '<button>Click me</button>'
};
});
});
运行块
运行块在注入器创建之后被执行,它是所有AngularJS应用中第一个被执行的方法。运行块是AngularJS中与<b> main</b>方法最接近的概念。运行块中的代码块通常很难进行单元测试,它是和应用本身高度耦合的。
运行块通常用来注册全局的事件监听器。例如,我们会在.run() 块中设置路由事件的监听器以及过滤未经授权的请求。
多重视图和路由
我们会将这些模板分解到视图中,并在布局模板内进行组装。 AngularJS允许我们在$route服务的提供者$routeProvider中通过声明路由来实现这个功能。