我正在尝试使用ngFor
循环从数组中获取数据。我明白了
“找不到类型不同的支持对象'[object Object]' 'object'.NgFor仅支持绑定到数组等Iterables。
我该如何解决?
我如何获取数据
if (this.resources$) {
this.resources$.subscribe(result => {
if (result) {
this.resourcesList = <Resources[]>result;
this.showResources = true;
}
});
export interface Resources {
Id: number;
Name: string;
}
我正试图那样使用它
<div *ngFor="let res of resourcesList">{{res.Name}}</div>
答案 0 :(得分:2)
如果要遍历对象,可以使用keyvalue
管道。
<div *ngFor="let res of resourcesList | keyvalue">
{{res | json}}
</div>
答案 1 :(得分:0)
resourcesList
必须是一个数组。resourcesList
初始化为一个空数组,即public resourcesList : any = []
this.resources$.subscribe(...)
发送的响应是对象数组<div *ngFor="let res of resourcesList">{{res?.Name}}</div>
答案 2 :(得分:0)
根据您对另一个答案的评论,您的后端返回以下格式的对象:
{
"ItemsCount": 1,
"Resources": [
{
"Name": "Garaż wolnostojący 1",
"DerivedFullName": "Garaż wolnostojący 1",
"ParentId": 0,
"IsLinkPossible": true,
"Children": [],
"Code": "",
"Path": "Garaż wolnostojący 1",
"Description": "",
"Id": 186973
}
]
}
不是数组,该数组位于response.Resources
中,因此请执行以下操作:
this.resourcesList = <ResourcesDetailsToIssueResponse[]>result.Resources;
可能会为您完成这项工作。