angular这组代码是什么意思?

if($scope.$$phase != "$apply" && $scope.$$phase != "$digest"){
    $scope.$apply();
};

为啥有时候是$,有时候是$$?

阅读 2.1k
2 个回答

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

angularjs框架本身已经在做脏数据检测的时候,我们没有必要再手动调用 $apply或者 $digest

$scope.$apply()是进行让angular进行赃数据检查的,如果不是修改跟angular相关的数据,angular的脏数据检查是不会运行的,这个时候就要就要让angular进行脏数据检查。但是如果这个时候已经有脏数据检查,如果强行让angular进行脏数据检查,会报错的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题