簡體   English   中英

Angular JS摘要循環被多次調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM