gpt4 book ai didi

angularjs - 我可以防止/延迟更新模型时AngularJS $ digest的发生吗

转载 作者:行者123 更新时间:2023-12-03 12:57:02 25 4
gpt4 key购买 nike

有没有办法推迟或延迟摘要的发生?

我想对模型进行一堆更改,但是在对模型进行所有更改之前,我不希望摘要触发。模型上的某些对象具有观察者,这些观察者可以更新模型上的其他对象以进行更改。

理想情况下,我想


停止$ digest
对模型进行所有更改
开始$ digest


$ digest将发现所有脏物并解雇观察员。

另一个解决方案是,我可以停止$ digest,而不是停止


删除观察者
对模型进行所有更改(摘要仍在运行)
添加已删除的观察者


添加观察者后,我需要运行观察者方法以确保模型处于正确的状态。

我只是觉得第二个选项似乎是一个hack。

想法??

最佳答案

这根本不是黑客。这是一个好问题,因为当用户快速输入文本或按住退格键时,大数据集可能导致$ digest循环运行得非常慢。您绝对可以像对待$watch$filter函数那样小心地执行performance tweaks,但是有时使用debounce function延迟$digest循环是更好的主意。

关于angularjs - 我可以防止/延迟更新模型时AngularJS $ digest的发生吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com