我可以在模型更新时阻止/延迟AngularJS $摘要的发生

Bra*_*118 19 model digest angularjs

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

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

理想情况下我想

  • 停止$摘要
  • 对模型进行所有更改
  • 启动$ digest

$ digest将找到所有脏对象并激活观察者.

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

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

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

我觉得第二个选项看起来像是一个黑客.

想法?

Aar*_*ray 13

这根本不是黑客攻击.这是一个很好的问题,因为当用户快速输入文本或压缩退格时,大数据集会导致$ digest周期运行得非常慢.你绝对可以做性能调整喜欢被小心你$watch$filter功能,但有时它是一个更好的主意推迟$digest使用周期防抖动功能.