在 angular 8 模型中创建数组内部数组的问题

Issue with creating array inside array in angular 8 model

我正在尝试创建一个名为“reportVersion”的模型

这包含一个数组 (ReportCategory),其中包含对象集合和两个变量,一个是数字变量,另一个是字符串变量。

我创建这个模型只是为了传递给 API 作为参数体。

由于我没有在提交表单中创建模型,因此需要将与 like 相同的格式作为参数传递给 API。我需要从表单模型中获取值并将其推送到 reportVersion。此外,我会将 reportVersion 作为参数传递给 API 以调用 api.

目前,我在构建 reportVersion 时遇到问题。 我已将下面的代码放在 stackblitz 中。

我不明白为什么 console.log(model) 没有打印到控制台。 请帮忙。

  this.reportCategory.push({ categoryName: 'demo1', weightage: 10 });

    this.reportCategory.push({ categoryName: 'demo2', weightage: 20 });

    this.reportCategory.push({ categoryName: 'demo3', weightage: 30 });

    this.reportCategory.forEach((element) => {
      this.reportVersion['categories'].push({
        categoryName: element.categoryName,
        weightage: element.weightage,
      });
    });
    console.log('this is final output');
    console.log(this.reportCategory);

https://stackblitz.com/edit/angular-ivy-vu99yk?file=src/app/hello.component.ts

您需要先初始化 reportCategory,然后再对其使用方法(如推送)。

this.reportCategory = []; // Added this line
this.reportCategory.push({ categoryName: 'demo1', weightage: 10 });
this.reportCategory.push({ categoryName: 'demo2', weightage: 20 });
this.reportCategory.push({ categoryName: 'demo3', weightage: 30 });

它在我身边的 StackBlitz 中有效:)

// 迪伦