Angular FormBuilder中的嵌套属性

Angular FormBuilder中的嵌套属性,angular,typescript,ionic2,Angular,Typescript,Ionic2,我想知道是否有一种方法可以使用Angular 2的FormBuilder设置嵌套属性,如下所示: this.form = formBuilder.group({ name: ['', Validators.required], email: ['', Validators.required], address: { state: ['ca', Validators.required], // <---- this gives an error } });

我想知道是否有一种方法可以使用Angular 2的FormBuilder设置嵌套属性,如下所示:

this.form = formBuilder.group({
  name: ['', Validators.required],
  email: ['', Validators.required],

  address: {
     state: ['ca', Validators.required],   // <---- this gives an error
  }
});
this.form=formBuilder.group({
名称:['',验证器。必需],
电子邮件:['',验证器。必填],
地址:{
状态:['ca',Validators.required],//请尝试以下操作:

this.form = formBuilder.group({
  name: ['', Validators.required],
  email: ['', Validators.required],

  address: formBuilder.group({
     state: ['ca', Validators.required],
  }),
});
在模板中:

<ion-input type="text" [formControl]="address.get('state')"></ion-input>


Sasxa回答了一半,但没有注意到模板评估部分出现了错误。因此,发布模板很重要

要解决此问题,请将模板的地址部分包装在一些不显眼的元素中,如:

<span formGroupName="address">
    <ion-item>
        <ion-label floating>State</ion-label>
        <ion-input type="text" formControlName="state"></ion-input>
     </ion-item>
</span>

Doc for

如果您可以显示有助于我们诊断问题的模板。在问题上添加了模板,因为他可能没有在模板中指定
formGroupName
,所以它要查找“表单->状态”,而不是“表单->地址->状态”@AlexandreJ.你能给plunker举个例子吗?@silentsod所以我需要创建两个表单?@AlexandreJ.不,只要在你的模板中添加这个指令,它会去哪里?是
span
最好的方法吗?我想我会使用
ion item group
@AlexandreJ。我选择span,如果它与
离子项目组
,然后开始。
<span formGroupName="address">
    <ion-item>
        <ion-label floating>State</ion-label>
        <ion-input type="text" formControlName="state"></ion-input>
     </ion-item>
</span>
address: formBuilder.group({
   state: ['ca', Validators.required]
})