我读过一些文章,说如果有超过 2000 个项目,ng-repeat 会导致性能不佳,因为有太多的双向绑定(bind)需要观看。我是 angularjs 的新手,无法理解 ng-repeat 和双向绑定(bind)之间的关系:
ng-repeat(如输出 json 对象列表)是否一定会创建双向绑定(bind)?
是否有一种简单的方法可以仅使用单向绑定(bind)来执行 ng-repeat? (最好不需要外部模块)
最佳答案
就像 user1843640 提到的那样,如果您使用的是 Angular 1.3,则可以使用一次性绑定(bind),但是,为了清楚起见,您需要将::放在所有绑定(bind)上,而不仅仅是中继器上。文档说这样做:
<div ng-repeat="item in ::items">{{item.name}}</div>
但是,如果我算一下观察者,这只删除了一个。要真正减少双向绑定(bind)的数量,请将::放在中继器内的绑定(bind)上,如下所示:
<div ng-repeat="item in ::items">{{::item.name}}</div>
这里有两个小工具,将显示观察者的数量:
感谢Miraage提供观看人数统计功能https://stackoverflow.com/a/23470578/2200446
关于angularjs - ng-repeat 的简单单向绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797225/