Angular 10 formGroup中的嵌套formArray

问题描述

我对角度10格式有疑问。 我在控制台中遇到两个不同的错误

  • 找不到具有以下路径的控件:'observationDataArray-> 0-> readArray'
  • 找不到类型为“对象”的其他支持对象“ [对象对象]”。 NgFor仅支持绑定到数组等Iterable。

编辑: Stackblitz-https://stackblitz.com/edit/angular-ivy-ekf7gb?file=src/app/app.component.html

EDIT1: 我弄清楚了为什么嵌套数组是问题所在。在模型类中,未初始化数组。现在我在添加新的数组对象时遇到问题-在此示例中,我无法添加新的meterRead部分

以下代码段:

observation-data.ts

<Link to="/home" className="navbar-item" onClick={toggleBurgerMenu}>Home</Link>

read.ts

export class ObservationData {
  energyProduct: string;
  productMeasureUnit: string;
  listofMeterRead: Read[];
}

publish-handling-page.component.ts

export class Read {
  meterSerialNo: string;
}

publish-handling-page.component.html

export class PublishHandlingPageComponent implements OnInit {
  publishForm: FormGroup;

  constructor(
    private formBuilder: FormBuilder,) { }

  ngOnInit(): void {

    this.publishForm = this.formBuilder.group({
      observationDataArray: this.formBuilder.array([
        this.formBuilder.group(new ObservationData())
      ])
    });
    this.meterReadArray;
  }

  get observationDataArray(): FormArray {
    return this.publishForm.get('observationDataArray') as FormArray;
  }

  addobservationElement() {
    let fg = this.formBuilder.group(new ObservationData());
    this.observationDataArray.push(fg);
  }
  deleteObservationDataElement(idx: number) {
    this.observationDataArray.removeAt(idx);
  }

  get readArray(): FormArray {
    return this.formBuilder.array([
      this.formBuilder.group(new Read())
    ])
  }

  addReadElement() {
    let fg = this.formBuilder.group(new Read());
    this.readArray.push(fg);
  }
  deleteReadElement(idx: number) {
    this.readArray.removeAt(idx);
  }

我的模型类中有很多嵌套的对象,但是现在我已经知道我在这两个方面做错了什么。也许你们有什么主意吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...