首页 > 解决方案 > 找不到类型为 'object' 的不同支持对象 '[object Object]',但它已经是一个数组

问题描述

我有从后端获取数据到数组的方法

这是方法

getUtilities(): void {
    // DropdownHelpers.fillDropdownOptions(
    //     this._propertyService.getMarketingInformationUtilityTypes(),
    //     this.utilities
    // );
    this._propertyService.getMarketingInformationUtilityTypes().subscribe(result => {
        this.utilities = result.items;
        console.log(this.utilities);
    });
}

这是我在控制台中看到的

在此处输入图像描述

但是当我尝试做*ngFor="let utility of utilities"

我有

MarketingEditComponent.html:38 错误错误:找不到类型为“对象”的不同支持对象“[对象对象]”。NgFor 仅支持绑定到 Iterables,例如 Arrays。

我的问题在哪里?数据正在返回数组

标签: javascripthtmlangulartypescript

解决方案


this.utilities在 API 调用之前可能未定义 - 当时它不是一个数组。

解决方案:

  • 在循环之前添加*ngIf以检查它是否是模板中的数组。

或者

  • 定义时将其初始化为空数组,即 this.utilities = [];

推荐阅读