语境
我试图FormGroup
在两个组件之间使用相同的,但效果不佳,所以我试图找出我错在哪里。
我有 2 个带有用于编辑相同内容的表单的不同组件,我想在这些组件之间切换。这个想法是使用相同的表单组,在组件之间共享修改。
问题
父组件创建FormGroup
,将其提供给组件 A,修改数据,FormGroup
触摸 ,但是当我切换组件并将其传递给第二个组件 B时,FormGroup
具有初始值,未触及。
我在父组件中检查了FormGroup
已修改的值,并且它已被触摸。
我尝试了类似的调试方法:
<div *ngIf="isComponentB">
<componentB [(form)]="formGroup" [formData]="formGroup.value"></componentB>
</div>
在componentB的ngOnInit
:
- 在 中,我可以从componentA
formData
中看到修改后的值 - 在 中
form.value
,它是初始未触及的数据,并且表单被标记为未触及。
我真的不明白为什么我有这种行为......就像FormGroup
没有更新,期望它是,因为它value
已经改变了。
关于我缺少什么的任何线索?
事实上,我错过了数据在一个应该只初始化它的子表单中被重置。所以我将初始化移到了更高的级别。