当数据附加到现有数组时,* ngFor如何在Angular中工作?

时间:2017-08-22 12:28:59

标签: angular ngfor

我有一个数组说dataArray,它有100个项目。我使用ngFor最初显示100个复选框。有一个按钮可以加载下100个项目。点击此按钮,我会向dataArray追加100个项目,此dataArray将包含200个项目。我的问题是,Angular是否再次运行ngFor循环以构建第二组项目(包括前100项)或者它是否足够智能仅循环第二组项目(仅100项)并将它们附加到现有DOM?< / p>

1 个答案:

答案 0 :(得分:1)

当您附加项目时,必须重新运行整个for循环。

避免这种情况的方法是提供trackBy功能。 trackBy函数告诉angular只有在指定的属性(例如id)发生更改时才更改项目。这允许angular只更改指定属性已更改的DOM节点。

欲了解更多信息:

Angular 2 track by explanation