无观察者,类似bindonce的ng repeat替代方案

Watcher free, bindonce like alternative for ng-repeat?

本文关键字:repeat 方案 ng 观察者 类似 bindonce      更新时间:2023-09-26

Bindonce和angular once允许对只加载一次的数据进行无观察者绑定。我想知道为什么这些解决方案不包括ng-repeat的等效方案。

一个可能的用例是加载一个不变的列表。

我认为这应该是一个非常常见的必需功能,所以它应该已经实现了,但令我惊讶的是,我在任何地方都找不到它。

这已经完成了吗
如果我自己尝试,是否需要记住技术限制
还是这只是一个微观优化的案例,而不是我应该浪费很多时间的事情?

bindonce实际上非常支持ng重复,如果您将核心指令放在外部ng重复元素包装器上。它的一个警告是,它仍然为外部元素本身制作了一个观察者——它无法消除最后一个。

如上所述,Angular 1.3.x(甚至不是最新的——它在…14中,几个月前发布)具有表达式的"::"运算符。如上所述,这不适用于Angular 1.2.x……但如果这确实是你想要的,那么就没有答案了。新的开发(包括核心和插件)集中在1.3.x和更高版本(2.x现在正在计划中),所以你不会在那里找到解决这个问题的新方法。

至于这是否是一个微观优化。。。这取决于情况。你的重复中有多少元素,你多久触发一次摘要,你的用户浏览器有多强大?在这里拍摄没有硬性规定。经验法则应该是2000或更多,但我有一个超过6000的应用程序,它运行得很好-尽管在屏幕上变化不大,所以没有太多的摘要。同样的事情,在一个有过滤器和几次触发的重复中,一秒钟就会爬行。你需要衡量表现才能确定。