angularjs $$phase

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

$$phase 是 angluar 內部使用的狀態標誌位,用於標識當前是否處於 digest 狀態。數組

一般程序中不須要關心這個狀態(兩個 $ 打頭更說明它是內部使用的),若是你寫出了須要關心這個狀態的代碼,好比這個 safeApply,那必定是哪裏出了問題。app

  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;
};
相關文章
相關標籤/搜索