对于angular,

$$phase 是 作为angular 内部状态表示位,用来标示当前是处于哪个阶段。

用有的阶段有

$digest

$apply

在使用的是例如你想调用scope.$apply的时候,经常会遇到这样的错误

Error:$apply already in progress

为了预防这样的错误,

有人是这么写的

if (!scope.$$phase && !scope.$root.$$phase){//脏值检测
    scope.$apply();  
}

一个合理的做法

就是使用$timeout 代替使用,这种写法是目前最好的方法了。

$timeout(function(){//angular本身检测不到异步操作,比如原生的定时器,所以要用angular内部的$timeout
    // anything you want can go here and will safely be run on the next digest. })

随机推荐

  1. ajax请求-IE缓存处理

    IE浏览器下使用GET发送请求时,如果两次请求的地址和参数相同,在不刷新页面的情况下,浏览器会缓存第一次的请求的内容,服务端更新后浏览器仍然显示第一次的内容 如在当前页面用户登录,在未登录的情况下,服 ...

  2. MQTT再学习 -- 漫谈MQTT协议

    先占楼,稍后再讲.先搭建好MQTT服务器和客户端

  3. ng开启缓存 造成的问题:

    开启缓存 造成的问题:

  4. iOS GCD之dispatch_semaphore(信号量)

    前言 最近在看AFNetworking3.0源码时,注意到在 AFURLSessionManager.m 里面的 tasksForKeyPath: 方法 (L681),dispatch_semapho ...

  5. Android Studio单独生成apk

    /********************************************************************* * Android Studio单独生成apk * 说明: ...

  6. 【剑指offer】数字在排序数组中出现的次数,C++实现

    原创博文,转载请注明出处! # 题目 # 思路 利用二分查找法,查找元素k在排序数组中第一次出现的位置m及最后一次出现的位置n,m-n+1即为元素k再排序数组中出现的次数.       二分查找法在数 ...

  7. 【剑指offer-16】数值的整数次方,C++实现(递归)

    原创博文,转载请注明出处! 1.题目       给定一个double类型的浮点数base和int类型的整数exponent,求base的exponent次方.注意:不得使用库函数,同时不需要考虑大数 ...

  8. rancher下的kubernetes之一:构建标准化vmware镜像

    学习kubernetes的时候,我们需要在kubernetes环境下实战操作,然而kubernetes环境安装并不容易,现在通过rancher可以简化安装过程,咱们来实战rancher下的kubern ...

  9. 【javascript 】组合式继承

    开发人员采用的js的继承结构 function inheritPrototype(subType, superType) { var prototype = object(superType.prot ...

  10. 关于C++一些面试题目的总结

    众所周知,在找工作时笔试题目往往对C++有大量考察,现在我们总结一些C++中比较重要而且可能会考到的知识. 1.判断一下A,B,C,D四个表达式是否正确. int a = 4: A:a += (a + ...