1

我有多种格式,我循环(使用 ngFor)来创建新组件。每个组件都有通过构造函数(new FileUploader())实现的 ng2-file-upload。

但是,如果我添加一个新文件并显示它,它也会添加/显示在其他组件的上传器上,这不应该是这种情况。

错过了什么?

https://stackblitz.com/edit/angular-i8oc1r

4

1 回答 1

0

好的,我将代表从 Angular 聊天组中帮助我的人回答这个问题。(非常感谢!)

问题似乎是,虽然提供了两个不同的空数组

<upload
  *ngFor = "let format of formats"
  [images] = "images ? images : []"
  [format] = format>
</upload>

甚至更好地看到:

<upload
  [images] = "[]"
  [format] = "'A'">
</upload>

<upload
  [images] = "[]"
  [format] = "'B'">
</upload>

angular 只是引用第二个空数组,而不是创建一个新数组。也许我缺乏经验,但这根本不直观。

解决方案是,给一个空数组,里面有不同的空数组......

<upload
  *ngFor = "let format of formats; let i = index;"
  [images] = "images[i]"
  [format] = format>
</upload>

阿斯达斯

export class AppComponent  {
  ...
  images = [[],[]];
  ...
}
于 2020-07-03T15:02:30.707 回答