84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
是否可以判断现在处于一个digest cycle中?直接用$rootScope.$$phase判断吗?我想判断如果没有处理轮询中就手动调用scope.$digest(),这个可以用$evalAsync解决吗?
$rootScope.$$phase
scope.$digest()
$evalAsync
闭关修行中......
目前AngularJS未提供公开的API判断,不过我翻了一下源码发现:ngModelDirective 指令写法中有这么一段
if ($rootScope.$$phase) { scope.$evalAsync(modelCtrl.$setTouched); } else { scope.$apply(modelCtrl.$setTouched); }
通过$rootScope.$$phase判断当前如果在digest循环中,调用scope.$evalAsync,不在则调用 scope.$apply
scope.$evalAsync
scope.$apply
目前AngularJS未提供公开的API判断,不过我翻了一下源码发现:ngModelDirective 指令写法中有这么一段
通过
$rootScope.$$phase
判断当前如果在digest循环中,调用scope.$evalAsync
,不在则调用scope.$apply