2017-06-30 89 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()

相關問題