angular run()运行块

news/2024/7/5 19:24:39

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

http://www.niftyadmin.cn/n/3172433.html

相关文章

用react-native开发一个IOS NBA资讯app(一) ----构建基本项目(持续更新)

因为最近工作的原因,对app开发产生了浓烈的兴趣,但是感觉直接学习一门开发语言,构建个app也不知道要猴年马月了。前端时间也一直在看react,对react产生了好感,便一发不可收拾,看了阮老师的react入门教材,就…

Postman无返回值的说明

使用发送POST的男人时,后端接受到了请求,也可以返回响应,但是发送POST的男人却接受不到返回值,搞了半天没啥用,后来在设置中把请求超时的时间改成0(0就是一直等待服务器的返回消息),Response出现了&#xf…

Chapter 2 ARMv8-A Architecture and Processors

ARMv8-A架构和处理器 变化: 1、大的物理地址,使得处理器能够访问超过4GB的物理内存 2、64位虚拟寻址,这使得虚拟内存超过了4GB的限制。这对于使用内存映射文件I/O或稀疏寻址的现代桌面和服务器软件来说很重要。 3、自动事件信号,这…

Docker ubuntu中更新软件源

cp /etc/apt/sources.list /etc/apt/sources.list_buckup -> 将/etc/apt目录下的文件进行备份,防止意外vi /apt/etc/sources.list 删除所有行(命令为ggdG),并将最后的阿里软件源粘贴,使用其他的也ok apt-get clean -> 删除包缓存中的…

Chapter 13 Memory Ordering

第十三章 内存排序 如果你的代码直接与硬件或在其他核心上执行的代码交互,或者直接加载或写入要执行的指令,或者修改页表,你需要注意内存排序问题。在所有这些情况下,内存排序问题都由相关代码为您处理. 如果您正在编写操作系统内…

Docker mysql 和 flask容器连接 bug解决

我是用的 --linkcontainer_name:aka方法连接的两个容器&#xff0c;所以在使用SQLAlchemy连接mysql的时候&#xff0c;需要使用aka别名作为IP地址&#xff0c;如下所示。 <user>:<passwd>aka:<port>/<database>Docker 会把aka转化成mysql容器的地址&a…

MD5加密函数实现

2019独角兽企业重金招聘Python工程师标准>>> 代码如下&#xff1a; import java.security.MessageDigest; public class MD5Util {/*** * MD5加密 生成32位md5码* param 待加密字符串* return 返回32位md5码*/public static String md5Encode(String inStr) throws …

Linux内核设计与实现笔记

第3章 进程管理 进程 进程描述符及任务结构 分配进程描述符&#xff0c;通过slab分配器分配task_struct&#xff0c;达到对象复用和缓存着色的目的 task_struct thread_info 每个任务的thread_info结构在他的内核栈的尾端分配&#xff0c;结构中task域中存放的是指向该任务task…