我有这个父组件
@component({
selector: 'parent',
template: '<child [data]="data"></child>'
})
class Parent {
private data = {
name: 'name',
age: 'age'
}
}
这个子组件
@component({
selector: 'child',
template: '
<form>
<input type="text" [ngModel]="data.name" />
<input type="submit" value="ok" (click)="onSubmit()"/>
</form>'
})
class Child {
@Input data;
@output dataChange = new EventEmitter();
onSubmit () {
this.dataChange.emit(this.data);
}
目前,当我在子输入中键入内容时,它会更改父组件中的data.name
。有没有一种简单的方法可以避免这种情况,只有在提交表单时才在父级中更改data.name
?或者我是否必须使用像不可变或对象克隆这样的库?
感谢