[英]Angular JS digest cycle invoked multiple times
我試圖了解Angular1 $ digest循環。 我讀過多篇文章,每次更改都會多次調用摘要循環。
在這篇文章中它說:
因此,一旦遍歷了$ watch列表中的所有$ watch函數,就完成了$ digest循環嗎? 不,我們再過一次清單,確認沒有任何更改。 我們這樣做是因為當另一個$ watch項目更新了其中一個值時,可能會對其進行更改。 我們繼續執行此循環,直到任何值都沒有變化為止。
所以我的問題是-在什么情況下,當另一個$ watch項目更新它時,其中一個值可能會發生變化?
在實際的用例中,這可能不是完美的例子,但是可能會發生這種情況。
$scope.$watch('Var_A', function(){
// change Var_B
});
$scope.$watch('Var_B', function(){
// do something
});
Var_A和Var_B放在$ watch列表中。 假設有一個角度變化會更改Var_A,它將觸發第一個$ digest循環,並且Var_B會變化。 第一個$ digest循環不知道Var_B已更改。 然后,它將再遍歷該列表一次,並將發現Var_B發生了變化。 此后,它將再次遍歷該列表,並確保$ watch列表中的所有內容均未更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.