我有一个包含多个对象的数组,如下所示。
this.list = [
{
"image": "imageurl1",
"name": "itemname1"
},
{
"image": "imageurl2",
"name": "itemname2"
},
{
"image": "imageurl",
"name": "itemname3"
}
]
上面的列表只是一个示例数组,不是真实的数组。下面是应用程序文件夹,它是我应用folderList数组迭代整个列表的另一个组件。
<app-folder *ngFor="let folder of documentsData.folderList" [documentsData]="documentsData" [folderData] = "folder"
[folderList]="documentsData.folderList" (processAction) = "refreshFolders($event)"></app-folder>
在角材卡中显示数据。在这里,我试图通过调用api来更改任何项目的名称(这是更新db)。一旦进行了此类更改并更新了list
变量,整个列表就会在前端闪烁。
功能正常,但是我不希望整个list
闪烁,而是只希望特定的项目反映更改或闪烁。
如何仅更新一次已更改的项目并更新* ngFor以反映这一点。有什么办法可以解决这个问题?
答案 0 :(得分:0)
您将仅需追加或修改列表中的给定条目。否则,如果您执行类似的操作
dispose
Anguar检测到集合已更改(不是集合元素),因此重新创建了整个集合表示形式。
如果仅更新单个条目,则不会发生。除此之外,还有其他几种原因可能导致这种情况,但是您必须共享代码以检测到