10

如果在执行期间将一个项目添加到使用 呈现的数组中ngRepeat,它是否会重绘所有项目?

4

2 回答 2

12

从 Angular 1.2 开始,我们有了“track by”选项,它可以防止转发器重新渲染所有项目。

例子:

ng-repeat="task in tasks track by task.id"

看看这个解释: http: //www.codelord.net/2014/04/15/improving-ng-repeat-performance-with-track-by/

于 2016-02-29T17:53:31.180 回答
6

是的,所有项目都重新绘制。

事实上,这些项目也可能在其他时间重新绘制。

示例:当父指令/模板中的值被更新时。在“$digest”循环期间,Angular 将评估范围树,这将导致受影响的子组件被重绘。

更多信息:

于 2013-06-06T04:40:46.410 回答