添加新项目后,ngRepeat会重新呈现所有项目吗?

red*_*ben 10 angularjs angularjs-ng-repeat

如果在执行期间将项目添加到使用渲染的数组中ngRepeat,是否重绘所有项目?

小智 12

从Angular 1.2开始,我们有'track by'选项,这将阻止转发器重新渲染所有项目.

例:

ng-repeat="task in tasks track by task.id"
Run Code Online (Sandbox Code Playgroud)

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


Ale*_*orn 6

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

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

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

更多信息: