if($scope.$$phase != "$apply" && $scope.$$phase != "$digest"){
$scope.$apply();
};
为啥有时候是$,有时候是$$?
if($scope.$$phase != "$apply" && $scope.$$phase != "$digest"){
$scope.$apply();
};
为啥有时候是$,有时候是$$?
$scope.$apply()是进行让angular进行赃数据检查的,如果不是修改跟angular相关的数据,angular的脏数据检查是不会运行的,这个时候就要就要让angular进行脏数据检查。但是如果这个时候已经有脏数据检查,如果强行让angular进行脏数据检查,会报错的。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
$$phase 是 angluar 内部使用的状态标志位,用于标识当前是否处于 digest 或者 apply状态
angularjs框架本身已经在做脏数据检测的时候,我们没有必要再手动调用
$apply
或者$digest