和配置块不同,运行块在注入器创建之后被执行,它是所有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在注入器创建后会执行这个函数。

最新文章

  1. c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
  2. 一款WP小游戏代码分享
  3. (VS) TFS lost mapping suddenly.
  4. JS之事件(一)
  5. sublime3可用key
  6. Mysql数据库迁移 Ubuntu14.04
  7. Unity3D游戏开发入门(一)
  8. Python学习笔记整理(十七)异常处理
  9. poj 1907 Work Reduction_贪心
  10. c#中关于sealed修饰类的性能提升的测试
  11. --@angularJS--浅谈class与Ng-Class的应用
  12. .NET入行之工作前
  13. leecode -- 3sum Closet
  14. [国嵌攻略][142][LCD驱动程序架构]
  15. BZOJ 1426: 收集邮票 [DP 期望 平方]
  16. Android Studio报错:the selected directory is not a valid home for unknow sdk
  17. c++的一些入门
  18. word文档内容如何防止被复制
  19. 使用Python对Twitter进行数据挖掘(Mining Twitter Data with Python)
  20. ERP完善合同起草(二十八)

热门文章

  1. plist文件真机写入方法
  2. wndows程序设计之书籍知识与代码摘录-封装一个类似printf的messagebox
  3. Sublime Text 3安装与使用
  4. SOA的概念
  5. Git 使用juju
  6. js数组常用方法汇总
  7. python数据结构与算法——归并排序
  8. union all 取代 select中的case when 提高查询效率
  9. 处理畅捷通的T+ 12.0版,web服务无故自动停止的问题
  10. Maven根据不同个环境打包, 获取不同的配置文件等等