从父组件到子组件的angular2中的双向数据绑定

Bhu*_*kar 2 data-binding angular

我正在将一个对象从父母传递给孩子。在儿童中,我正在对此对象进行更改。现在,每当我在子对象中对该对象进行更改时,它都应反映在父对象中。对于前。在加载子组件时:

<child [record]="record"></child>
Run Code Online (Sandbox Code Playgroud)

现在,当我更改子级中的记录时,我希望它反映在父级中。

有什么办法可以做到这一点?谢谢。

Gün*_*uer 5

子组件需要@Input()@Output()进行双向绑定才能工作

@Component({
  selector: 'child',
  ...
})
export component MyChild {
  @Input() record;
  @Output() recordChange = new EventEmitter();

  updateRecord(newRecord) {
    this.record = newRecord;
    this.recordChange.emit(this.record);
  }
}
Run Code Online (Sandbox Code Playgroud)

为了[(record)]="...."起作用,输入和输出具有相同的基本名称(“记录”)并且输出具有后缀很重要,Change否则您将需要更长的语法

[record]="..." (recordUpdated)="..." 
Run Code Online (Sandbox Code Playgroud)

(假设输出名为recordUpdated