Bindonce和angular-once允许对仅加载一次的数据进行无观察者绑定。我想知道为什么这些解决方案不包含ng-repeat
的等价物。
一个可能的用例是加载一个不会改变的列表。
我认为这应该是一个非常常见的功能,因此它应该已经实现,但令我惊讶的是,我无法在任何地方找到它。
这是否已经完成?
如果我自己尝试这样做,是否需要记住技术限制?
或者这仅仅是微观优化的情况,而不是我应该浪费太多时间?
答案 0 :(得分:0)
bindonce
实际上确实支持ng-repeat。它的一个警告是它仍然为外部元素本身制作一个观察者 - 它不能消除最后一个元素。
如上所述,Angular 1.3.x(甚至不是最新的 - 它在几十个月前发布的......中的第14个版本)有' ::'表达式的运算符。同样如上所述,这并不适用于Angular 1.2.x ......但如果这实际上是您想要的,那么就没有答案。新的开发(核心和插件)都集中在1.3.x及更高版本(2.x正在计划中),所以你不会找到解决这个问题的新东西。
至于它是否是微观优化......这取决于。你在重复中有多少元素,你多久触发一次摘要,以及你的用户有多强大?浏览器?在这里拍摄什么没有硬性规定。经验法则应该是2000或更多,但我有一个超过6000的应用程序,它工作得很好 - 虽然在屏幕上无论如何都没有太大变化,所以没有#ta; ta很多摘要正在进行中。使用过滤器和一些触发器重复同样的事情是抓取。您需要测量性能才能确定。