$ interpolate vs ng-repeat和一次性绑定的性能

时间:2014-11-04 10:14:25

标签: angularjs performance

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还是更好吗?

1 个答案:

答案 0 :(得分:5)

如果您使用< 1.3,我建议您bindonce,只需在bindonce旁边添加ng-repeat,然后将ng-*指令更改为{{ 1}}在重复部分。它与1.3的一次性绑定基本相同。

如果你的意思是你的意思,你应该使用bo-*而不是1.3中的一次约束,我会说$interpolate只带一次约束,因为没有任何观察者会减慢你的速度下来,它更具可读性。即使ng-repeat仍然创建子范围,如果您在这些范围内没有做任何事情,性能差异可以忽略不计。

根据您的经验,如果您没有检查观察者,即使有很多子范围,您在浏览器中遇到性能问题也会导致ng-repeat之前的这么多元素成为问题。