我有2个组件:parentComponent
和childComponent
。在parentComponent
我有一个FormGroup
类型值parentForm
通过childComponent
传递给@input
:
export class parentComponent {
...
parentForm: FormGroup;
....
}
export class childComponent {
...
@Input()
childForm :FormGroup; //The parentForm
....
}
当我运行这些代码一切都很好,我的childComponent
识别childForm
这是parentComponent
的输入值,但每当我在parentForm
中更改parentComponent
中的某些属性时,childComponent
无法知道这些变化,当我调试我的代码时,我看到childComponent
拥有旧的输入值,并且在childForm
的childComponent
中没有更新变化。现在我试图找到一种方法来传递parentForm
的参考来解决我的问题。因为我认为通过这种方式,parentForm
的任何变化都会立即通知childForm
。我不知道怎么可能。 (Angular的版本是5.0.1)
从本质上讲,这个问题与this question和this another question有很大关系。
为了解决您的问题,我建议这种方法:
@Input() childForm :FormGroup
将@Input() childForm : Object
更改为NgModel
作为对象填充对象类Object
不是原始值string
,boolean
,num
,它将通过引用传递,因此您将立即获得更新的值。