码迷,mamicode.com
首页 > Web开发 > 详细

angularjs $$phase

时间:2017-12-19 01:03:58      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:digest   执行   std   func   last   body   $watch   .com   标志位   

https://segmentfault.com/q/1010000000738004/a-1020000000738812

$$phase 是 angluar 内部使用的状态标志位,用于标识当前是否处于 digest 状态。

通常程序中不需要关心这个状态(两个 $ 打头更说明它是内部使用的),如果你写出了需要关心这个状态的代码,比如这个 safeApply,那一定是哪里出了问题。

  1. $digest 是用来执行 注册的watcher数组的。
  2. $apply 是用来往一个digest loop 里额外强制执行 一次 脏检查。
  3. $$phase 是用于标示 当前是否在 digest 中
  4. $watch 是用于注册watcher的
Scope.prototype.$watch = function (watchFn, listenerFn, valueEq) {
  var watcher = {
    watchFn: watchFn,
    listenerFn: listenerFn || function () {

    },
    last: initWatchVal,
    valueEq: !!valueEq
  };
  this.$$watchers.push(watcher);
  this.$$lastDirtyWatch = null;
};

angularjs $$phase

标签:digest   执行   std   func   last   body   $watch   .com   标志位   

原文地址:http://www.cnblogs.com/wancy86/p/8059021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!