angular run()运行块
2024-09-13 00:12:20
和配置块不同,运行块在注入器创建之后被执行,它是所有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在注入器创建后会执行这个函数。
最新文章
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
- 一款WP小游戏代码分享
- (VS) TFS lost mapping suddenly.
- JS之事件(一)
- sublime3可用key
- Mysql数据库迁移 Ubuntu14.04
- Unity3D游戏开发入门(一)
- Python学习笔记整理(十七)异常处理
- poj 1907 Work Reduction_贪心
- c#中关于sealed修饰类的性能提升的测试
- --@angularJS--浅谈class与Ng-Class的应用
- .NET入行之工作前
- leecode -- 3sum Closet
- [国嵌攻略][142][LCD驱动程序架构]
- BZOJ 1426: 收集邮票 [DP 期望 平方]
- Android Studio报错:the selected directory is not a valid home for unknow sdk
- c++的一些入门
- word文档内容如何防止被复制
- 使用Python对Twitter进行数据挖掘(Mining Twitter Data with Python)
- ERP完善合同起草(二十八)