AngularJS模块加载

配置块

每当模块的加载阶段,AngularJS会在提供者注册及布置的经过被对模块进行配备。在满AngularJS的干活流中,这个等级是唯一能当动启动前进行修改的有些。

angular.module(‘myApp’, [])

.config(function($provide) {});

最常使用的factory,directive等都是config函数的语法糖,它们还见面以布局等实施。

亟待特别注意的是,AngularJS会以函数的书写和登记之次第来施行其。也就是说我们不可知注入一个未曾注册的提供者。唯一不同的是constant()方法,这个措施总是在富有配置块之前受实践。

运行块

以及部署块不同,运行块当注入器创建之后让实践,它是装有AngularJS应用被率先单为实施之方式,更接近被main方法的定义。运行块被之代码块一般十分为难展开单元测试,它是跟行使本身高度耦合的。运行块一般用来注册全局的风波监听器,例如我们见面当.run()块被安路由于事件的监听器以及过滤未经授权的求。

如若我们得在每次路由发生变化时,都尽一个函数来验证用户的权力,放置这个功效唯一合理的地方就是是run方法。

angular.module(‘myApp’, [])

.run(function($rootScope, AuthService{

$rootScope.$on(‘$routeChangeStart’, function(evt, next, current) {

//if not log in

if(!AuthService.userLoggedIn()) {

if(next.templateUrl ===”login.html”) {

//已经转化登录路由用无论是需重定向

} else {

$location.path(‘/login’);

}

}

})

})

相关文章