有没有办法推迟或推迟摘要的发生?
我想对模型进行一系列更改但我不希望在对模型进行所有更改之前触发摘要。模型上的一些对象具有观察者,可以更新模型上的其他对象以进行更改。
理想情况下我想
$ digest将找到所有脏对象并解雇观察者。
另一个解决方案是,而不是停止$ digest我可以
添加观察者后,我需要运行观察者方法以确保模型处于正确的状态。
我觉得第二个选项看起来像是一个黑客。
想法?
答案 0 :(得分:13)
这根本不是黑客攻击。这是一个很好的问题,因为当用户快速输入文本或压缩退格时,大数据集会导致$ digest周期运行得非常慢。您绝对可以performance tweaks谨慎使用$watch
和$filter
函数,但有时最好使用debounce function延迟$digest
周期。