我有多个“页面”的Angular5表单 - 结构是这样的:

Form - RootFormGroup
   Page 1 - FormGroup1
     FormElement - FormGroup1
     FormElement - FormGroup1
   Page 2 - FormGroup2
     FormElement - FormGroup2

所以我定义了 FormGroup (RootFormGroup)并将每个页面添加为 FormControl 对于每个页面我创建了一个额外的 FormGroup 并将RootFormGroup设置为它们的父( setParent() ) . 所有FormElements都分配给他们的Page-Formgroup .

所以我能够跟踪所有验证并仅在前一个完成时显示下一页 .

第一个问题:这是一种有效的方式还是我应该这样做?

最后,当所有内容都填满(所有页面)时,我需要提交整个数据 . 当我拥有RootFormGroup时,如何获得所有已注册的 FormControls (或所有值)?