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

有没有办法推迟或延迟消化不良发生?

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

理想的我想

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

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

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

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

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

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

想法?

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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...