【问题标题】:Value won't assign to array after calling function Angular 9调用函数Angular 9后值不会分配给数组
【发布时间】:2020-06-08 22:56:40
【问题描述】:

我在 console.log 时设置的数组中有一个未定义的值。

下面是我的component.ts:

export class OrderExceptionReportComponent implements OnInit {

  public sessionData: ExceptionReportSessionData[] = [];
  newData: any;
  reports = [];

  constructor(private orderExceptionReportService: OrderExceptionReportService) {
  }

  public async getExceptionReportSessionData(): Promise<void> {
    return this.orderExceptionReportService.GetExceptionReportSessionData()
      .then(
        data => {
          this.sessionData = data;
        });   
  }  


  async ngOnInit() {
    await this.getExceptionReportSessionData();

  }

  sessionDataChange(evt) {
    const value = evt.target.value;
    console.log(`session index: ${value}`);
    console.log(this.sessionData);
    if (isNaN(Number(value))) {
      this.reports = [];
    } else {
      this.reports = this.sessionData[Number(value)].ReportFiles;
    }
    console.log(this.reports);
  }


}

当我console.log(this.sessionData) 时,我能够很好地查看我的数据数组。但是当我从我的sessionDataChange() 函数中console.log(this.reports) 时,它会记录一个未定义的值。我需要该值作为我正在实施的下拉菜单。我可以做些什么来确保this.reports 被分配了正确的值?

这是控制台:

【问题讨论】:

  • 执行console.log(this.sessionData)的时候在控制台看到了什么?你能把这个结构添加到你的帖子中吗?
  • @bjdose 添加了控制台照片
  • 你确定进入else条件吗?
  • 我看到您正在尝试获取带有 R 大写字母的 .ReportFile,但在控制台的图像中我看到带有 r 小写字母的 reporteFiles。尝试改变它。
  • 这是典型的。对象名称区分大小写。更改为报告文件

标签: javascript arrays angular typescript


【解决方案1】:

我看到您正在尝试获取带有大写 R 的 .ReportFile,但在控制台的图像中我看到带有小写 r 的 reporteFiles。尝试更改它,它会解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多