http://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135
据说,对于指令,使用插值比使用ng-repeat更好:
ng-repeat指令很可能是最糟糕的罪犯 性能问题,这意味着它很容易被滥用。一个 ng-repeat可能会处理$ scope对象和这些锤子的数组 $ digest循环的表现。
例如,不使用ng-repeat渲染全局导航, 我们可以使用$ interpolate提供程序创建我们自己的导航 根据Object渲染我们的模板并将其转换为DOM节点。
当使用角度1.3时,我们可以使用ng-repeat和一次时间绑定来获得相同的结果。
为此目的使用$ interpolate还是更好吗?
答案 0 :(得分:5)
如果您使用< 1.3,我建议您bindonce,只需在bindonce
旁边添加ng-repeat
,然后将ng-*
指令更改为{{ 1}}在重复部分。它与1.3的一次性绑定基本相同。
如果你的意思是你的意思,你应该使用bo-*
而不是1.3中的一次约束,我会说$interpolate
只带一次约束,因为没有任何观察者会减慢你的速度下来,它更具可读性。即使ng-repeat
仍然创建子范围,如果您在这些范围内没有做任何事情,性能差异可以忽略不计。
根据您的经验,如果您没有检查观察者,即使有很多子范围,您在浏览器中遇到性能问题也会导致ng-repeat
之前的这么多元素成为问题。