我正在尝试在两个组件之间使用相同的FormGroup
,但它不能很好地工作,所以我试图找出我错在哪里。
我有2个不同的组件,其中包含用于编辑相同内容的表单,我想在组件之间切换。我们的想法是使用相同的表单组来共享组件之间的修改。
父组件创建FormGroup
,将其提供给组件A ,修改数据,触摸FormGroup
,但是当我切换组件并通过它时对于第二个组件B ,FormGroup
具有未触及的初始值。
我在父组件中检查了FormGroup
已修改了值,并且已触及它。
我尝试过类似的调试方法:
<div *ngIf="isComponentB">
<componentB [(form)]="formGroup" [formData]="formGroup.value"></componentB>
</div>
在 componentB 的ngOnInit
:
formData
中,我可以看到 componentA form.value
中,它是最初未触及的数据,表单标记为未触及。我真的不明白为什么我有这种行为......就像FormGroup
没有更新一样,期待它是,因为value
已被更改。
关于我缺少什么的任何线索?
事实上,我错过了数据被重置在一个应该只初始化它的子表单中。所以我把初始化移到了更高的层次。