双方向バインディングを使用しようとしましたが、例外がチェックされた後に式が変更されました。モードがキャンセルに変わったときに値を空にリセットしたい場合は、例外が発生します。別の価値を持った変更サイクルの中に出ているが、回避する方法がわからないので、それは私が想定している?角度2ウェイバインディングコンポーネント - 式がチェックされた後に変更されました
<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("");
}
}
}
を使用していない別のコールバックにコードを移動:への入力をバインドそのコンポーネントのEventemitterを出力にバインドしますが、「同じもの」は使用しません。受信データを操作する必要があるコンポーネントへの双方向バインディングが必要な場合は、これが最もクリーンな方法です。 – EluciusFTW