更改ngFor循环中调用的内部父组件的值

时间:2019-04-14 10:34:00

标签: javascript html angular typescript

我使用角度7,试图将对象传递给ngFor循环内的子组件,但是当我更改内部值时,父组件上的值不变。

我父母有

<div class="pieceContainer" *ngFor="let piece of data?.piece">
  <app-piece [(data)]="piece" (change)="doSomething(event$)"></app-piece>
</div>

在我的孩子中,我有以下内容,我更改了模态中的数据值,然后尝试输出它:

@Input() data: any;
@Output() change: EventEmitter<any> = new EventEmitter<any>();

从模态中更改数据并按保存时,我会调用:

this.change.emit(this.data);

有人知道为什么它不更新父组件中的对象值吗? 谢谢

3 个答案:

答案 0 :(得分:0)

应该是

@Output() dataChange: EventEmitter<any> = new EventEmitter<any>();

答案 1 :(得分:0)

您应该传递共享数据。只是微小的变化:

<app-piece [data]="piece" (change)="doSomething('data')"></app-piece>

答案 2 :(得分:0)

对某些感兴趣的人来说,答案只是放$ event而不是event $。