找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如带有异步管道的数组

Posted

技术标签:

【中文标题】找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如带有异步管道的数组【英文标题】:Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays with Async pipe 【发布时间】:2019-07-27 05:28:55 【问题描述】:

.html

 <ion-select-option value="t.result[i].id" *ngFor="let t of (issueTypes$ | async); let i = index ">
            t.result[i].name
 </ion-select-option>

.ts

this.issueTypes$ = this.maintenanceService.get();

邮递员:


    "result": [
        
            "id": "KT5c6wdb8ecd94e",
            "name": "Need Batteries"
        ,
        
            "id": "RT5c6aa12600134",
            "name": "A/C Not working"
        
    ]

错误错误:找不到不同的支持对象“[object Object]” '对象'类型。 NgFor 仅支持绑定到 Iterables,例如 数组。 在 NgForOf.push../node_modules/@angular/common/fesm5/common.js.NgForOf.ngDoCheck (common.js:3161) 在 checkAndUpdateDirectiveInline (core.js:22004) 在 checkAndUpdateNodeInline (core.js:23265) 在 checkAndUpdateNode (core.js:23227) 在 debugCheckAndUpdateNode (core.js:23861) 在 debugCheckDirectivesFn (core.js:23821) 在 Object.eval [as updateDirectives] (MaintenancePage.html:19) 在 Object.debugUpdateDirectives [as updateDirectives] (core.js:23813) 在 checkAndUpdateView (core.js:23209) 在 callViewAction (core.js:23450)

你能告诉我这里的问题吗?

【问题讨论】:

您可能在返回的类型上指的是resultlet t of (issueTypes$ | async)?.result; let i = index 【参考方案1】:

根据 postman 的 json 模型,您应该迭代 result 属性,该属性是返回模型中的数组。

*ngFor="let t of (issueTypes$ | async)?.result; let i = index"

那么在包含的html里面就可以直接访问t里面包含了数组中的对象。索引变量i 也不再需要了。

t.name

【讨论】:

哇...真不错。谢谢。【参考方案2】:

问题是您试图迭代结果对象。你需要更深一层。因此,将您的代码更改为以下内容:

<ion-select-option value="t.id" *ngFor="let t of (issueTypes$ | async)?.result; let i = index ">
            t.name
 </ion-select-option>

【讨论】:

因为issueTypes$ 是解决.result 的可观察/承诺,在它解决后应该调用它。 (issueTypes$ | async)?.result 好点。老实说,我不会以这种方式进行 ajax 调用,但我会更新我的答案。

以上是关于找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如带有异步管道的数组的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到类型为“object - Angular 7”的不同支持对象“[object Object]”[重复]

找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如 Arrays.(AngularFireList)

找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如带有异步管道的数组

Angular 4 找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如 Arrays

找不到“object”类型的不同支持对象“[object Object]”。仅支持在从 JSON 文件读取和解析数据时绑定到 Iterables

找不到“object”类型的不同支持对象“[object Object]”。 --> 要在表格中显示的 VirusTotal JSON