angular run()运行块
Posted ilinux_one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular run()运行块相关的知识,希望对你有一定的参考价值。
和配置块不同,运行块在注入器创建之后被执行,它是所有AngularJS应用中第一个被执行的方法。
运行块是AngularJS中与main
方法最接近的概念。运行块中的代码块通常很难进行单元测试,它是和应用本身高度耦合的。
运行块通常用来注册全局的事件监听器。例如,我们会在.run()
块中设置路由事件的监听器以及过滤未经授权的请求。
假设我们需要在每次路由发生变化时,都执行一个函数来验证用户的权限,放置这个功能唯一合理的地方就是run
方法:
angular.module(\'myApp\', [\'ngRoute\']) .run(function($rootScope, AuthService) { $rootScope.$on(\'$routeChangeStart\', function(evt, next, current) { // 如果用户未登录 if (!AuthService.userLoggedIn()) { if (next.templateUrl === "login.html") { // 已经转向登录路由因此无需重定向 } else { $location.path(\'/login\'); } } }); });
run()
函数接受个参数。
initializeFn
(函数)AngularJS在注入器创建后会执行这个函数。
以上是关于angular run()运行块的主要内容,如果未能解决你的问题,请参考以下文章
AngularJs Run块$ stateChangeStart未被触发
synchronized修饰普通方法,修饰静态方法,修饰代码块,修饰线程run方法 比较
json 可视代码工作室Angular with Firebase片段
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/