多次调用角JS摘要循环
问题描述:
我想了解Angular1 $摘要循环。我读过多篇文章,说明每次更改都会多次调用摘要循环。多次调用角JS摘要循环
在this文章,它说:
所以一旦我们走过所有的在$观察名单的$手表的功能,是我们与$完成消化循环?不,我们再次查看列表并确认没有任何变化。我们这样做是因为当另一个$ 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变化。第一个$摘要循环不知道Var_B已经改变。然后它会再次查看列表,并会发现Var_B发生变化。在此之后,它再次遍历列表并确保$ watch列表中没有任何内容被更改。