使用ng-repeat角度指令重新绘制和重排

时间:2016-08-17 10:39:24

标签: angularjs web-performance

我是 angular js 的新手。 ng-repeat指令迭代模型,模型一改变(添加/删除值),ng-repeat指令就会自行更新。

如果这是真的,那么它将强制在浏览器中对模型对象中的所有值进行重绘和重排操作,从性能的角度来看,这是一项代价高昂的操作。

1 个答案:

答案 0 :(得分:0)

这一切都取决于所涉及的变量数量,因此也取决于观察者的数量。

通常,withwin 10k观察者你应该没事。我会非常小心地去10k以上的观察者,因为你可能会遇到一些麻烦(是的,你的机器运行chrome> = 40 会很好,但你的IE9用户不会这样做。)

但是,您可以使用bindonce(您可以按照这个精彩的指南here)或其他一些策略来减少视图观察者的总数(使用较少的ng-if将视图包装在一个唯一的容器,例如)。