当模型更新时,我可以防止/延迟AngularJS $摘要的发生

前端之家收集整理的这篇文章主要介绍了当模型更新时,我可以防止/延迟AngularJS $摘要的发生前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法推迟或延迟消化不良发生?

我有一些改变,我想对一个模型,但我不想要消化,直到模型的所有更改完成。模型中的某些对象具有观察者更新模型上的其他对象以进行更改。

理想的我想

>停止$ digest
>对模型进行所有更改
>启动$ digest

$ digest将找到所有脏物,并发射观察者。

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

>删除观察者
>对模型进行所有更改(消息仍然运行)
>添加删除的观察者

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

我只觉得第二个选择似乎是一个黑客。

想法?

这不是一个黑客。它是一个很好的问题,因为大量数据集可以导致$ digest循环运行非常缓慢,当用户快速输入文本或阻止backspace。你肯定可以做 performance tweaks,就像你的$ watch和$ filter函数一样,但有时它更好的想法是使用 debounce function延迟$ digest循环。

猜你在找的Angularjs相关文章