微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

理想的我想

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

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

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

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

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

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

想法?

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐