Eva*_*ahn 6 asynchronous definition angularjs angularjs-digest
关于范围的角度初学者问题(这里的文档).
$eval
在范围的上下文中执行表达式.$apply
基本上是打电话$eval
然后$digest
.$evalAsync
打电话$digest
(或者更确切地说,确保$digest
被叫)?似乎应该真的被称为,不是吗?$
eval
Async
$
apply
Async
我是初学者 - 我错过了什么?
$applyAsync 已经存在:
安排稍后调用 $apply 。实际时间差异因浏览器而异,但通常约为 10 毫秒左右。
这可用于对需要在同一摘要中计算的多个表达式进行排队
evalAsync 以不同的方式处理摘要:
$evalAsync 触发摘要,并且在预计不应发生摘要时不适合。
注意:如果在 $digest 周期之外调用此函数,则会安排一个新的 $digest 周期。
在 AngularJS 1.3 中隐式调用时, this 的行为发生了变化:
- 以前,即使 invokeApply 设置为 false,在 Promise 解析期间也会发生 $rootScope 摘要。现在情况不再是这样,因为如果 invokeApply 为 false,从 $timeout 和 $interval 返回的承诺将不再触发 $evalAsync (这反过来会导致 $digest)。
解决方法包括手动触发 $scope.$apply(),或从 Promise 回调返回 $q.defer().promise,并在适当时解决或拒绝它。
参考
归档时间: |
|
查看次数: |
3552 次 |
最近记录: |