嘗試使用雙向綁定工作,但在檢查異常後更改了表達式。當模式更改爲取消並且我想將該值重置爲空時,我得到異常。我認爲這是因爲我在一個具有不同價值的變化週期內發光,但不知道如何避免?Angular 2 way binding component - 檢查後表達式發生了變化
<edit-field [mode]="mode" [(field)]="field"></edit-field>
我的部分是:當變化檢測導致模型的變化
export class EditFieldComponent implements OnChanges {
@Input('mode') mode: string;
@Input('field') field: string;
@Output('fieldChange') fieldChange: EventEmitter<string> = new EventEmitter<string>();
ngOnChanges() {
if(this.mode == 'cancel'){
this.field = "";
this.fieldChange.emit("");
}
}
}
一種方法周圍是手動分離的2路綁定:綁定的投入組件並將組件中的Eventemitter綁定到輸出,但不要使用「同一個」。這是希望將2路綁定到必須處理傳入數據的組件時最乾淨的方法。 – EluciusFTW