Angular 如何在没有*ngFor:I';我犯了错误

Angular 如何在没有*ngFor:I';我犯了错误,angular,angular6,Angular,Angular6,我有两个FormGroup在一个FormArray里 setRubricaDosForm: FormGroup; ngOnInit() { this.setRubricaDosForm = this.fb.group({ rubrica: this.fb.array([ this.fb.group({ nombreUno: ["", Validators.required], puntajeUno: [ "",

我有两个FormGroup在一个FormArray里

setRubricaDosForm: FormGroup;

ngOnInit() {
  this.setRubricaDosForm = this.fb.group({
    rubrica: this.fb.array([
      this.fb.group({
        nombreUno: ["", Validators.required],
        puntajeUno: [
          "",
          [Validators.required, Validators.pattern("/^-?(0|[1-9]d*)?$/")]
        ]
      }),
      this.fb.group({
        nombreDos: ["", Validators.required],
        puntajeDos: [0]
      })
    ])
  });
}

然后在我的模板中我有这个

<form [formGroup]="setRubricaDosForm" novalidate (ngSubmit)="submit()">
  <div formArrayName="rubrica">
    //here i've also tried formGroupName="setRubricasDosForm.controls[0].get('rubrica').controls[0]
    <div [formGroupName]="rubrica.controls[0]"> 
      <input formControlName="nombreUno">
      <input formControlName="puntajeUno">
    </div>
    <div [formGroupName]="rubrica.controls[1]"> 
      <input formControlName="nombreDos">
      <input formControlName="puntajeDos">
    </div>
  </div>
</form>

//在这里,我还尝试了formGroupName=“setRubricasDosForm.controls[0]。get('rubrica')。controls[0]
我得到
错误:找不到路径为“rubrica->[object]”的控件。

通过注释的方式,我得到了
没有get方法

我不使用*ngFor,因为我只需要这两个FormGroup,我想把它们放在一个FormArray中,我从一开始就没有尝试过声明两个不同的FormGroup(我想这样做,除非没有办法)


关于

您正在使用rubrica直接引用FormGroup。控件[0],因此请使用
[FormGroup]
而不是
[formGroupName]
,它应该像一个符咒一样工作

结果
您使用
rubrica.controls[0]
直接引用表单组,因此请使用
[FormGroup]
而不是
[formGroupName]
,它应该像一个符咒一样工作

结果


Geeenius Geeenius,用Deeds先生的电影场景旋律签名。谢谢Mangeeenius Geeenius,用Deeds先生的电影场景旋律签名。谢谢
<form [formGroup]="setRubricaDosForm" novalidate (ngSubmit)="submit()">
  <div formArrayName="rubrica">
    //here i've also tried formGroupName="setRubricasDosForm.controls[0].get('rubrica').controls[0]
    <div [formGroupName]="rubrica.controls[0]"> 
      <input formControlName="nombreUno">
      <input formControlName="puntajeUno">
    </div>
    <div [formGroupName]="rubrica.controls[1]"> 
      <input formControlName="nombreDos">
      <input formControlName="puntajeDos">
    </div>
  </div>
</form>
<form [formGroup]="setRubricaDosForm" novalidate (ngSubmit)="submit()">
  <div formArrayName="rubrica">
    <div [formGroup]="rubrica.controls[0]"> 
      <input formControlName="nombreUno">
      <input formControlName="puntajeUno">
    </div>
    <div [formGroup]="rubrica.controls[1]"> 
      <input formControlName="nombreDos">
      <input formControlName="puntajeDos">
    </div>
  </div>
</form>