2017-06-30 61 views
0

由于我正在经历范围的生命周期,我碰到$digest应该由$apply调用。但我想知道如果可能的话,我们可以在不使用$apply的情况下启用$digest。如果是,什么是缺点

+0

参考http://tutorials.jenkov.com/angularjs/watch-digest-apply.html –

回答

0

当你调用$scope.$apply()函数时,它调用$rootScope.$digest()。因此,摘要循环从rootScope开始并调用所有子作用域。

您可以使用$scope.$digest()调用摘要,但这只会启动子范围的循环。有时绑定不会正常发生,因为摘要循环不是从根作用域开始的。

您可以检查this文章,以获取有关消化周期的运作

+0

谢谢我知道它的过程,但我不知道$ scope.apply()函数调用$ rootScope。$消化()。 – user3335796

0

通过在$scope对象的所有手表的$scope.$digest()函数循环,并且其子$scope对象的想法(如果有任何)。当$digest()迭代手表时,它会调用每个手表的值功能。

$scope.$apply()函数采用一个函数作为执行的参数,然后在内部调用$scope.$digest()

相关问题