尝试使用双向绑定工作,但在检查异常后更改了表达式。当模式更改为取消并且我想将该值重置为空时,我得到异常。我认为这是因为我在一个具有不同价值的变化周期内发光,但不知道如何避免?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