【发布时间】:2019-02-12 01:56:21
【问题描述】:
我想遍历一个对象数组。但我无法循环“购买”。 这是我通过控制台得到的结果:
[{
"createdAt": "Fri Aug 31 2018 15:19:03 GMT-0400
(Eastern Daylight Time)
",
"customer": {
"address": "test",
"lastname": "Carrio",
"name": "Mabel",
"phone": "786222222"
},
"purchases": {
"0": {
"product": {
"categoryS": "-L9QdqynslyGy8Ft1G9z",
"location": "en tienda",
"name": "Memoria",
"price": 12
},
"quantity": 3
}
},
"totalPrice": 36,
"uid": "fr0Yix3T2hMio3KzwAB1r6aJbZA2",
"$key": "-LLGQAB3V_PRiW2v02bx"
}]
组件.ts
ngOnInit() {
this.invoiceService.getInvoices().snapshotChanges().subscribe(data => {
this.invoiceList = []
data.forEach(element => {
let x = element.payload.toJSON()
this.invoiceList.push(x);
}
}
}
}
}
list.component.html
<tr *ngFor="let invoice of invoiceList">
<td>{{invoice.customer.name}} {{invoice.customer.lastname}}</td>
<td>{{invoice.totalPrice}}</td>
<td>{{invoice.purchases.product.name}}</td>
<--- Error
</tr>
有什么想法吗?
【问题讨论】:
-
您是否正在尝试将购买元素转换为数组?
-
如果你也重构一下你的模板代码就好了。 :)
-
参考您在已删除答案中的评论... ngFor 仅支持绑定到数组等可迭代对象... 不正确... 参见 ng6.1 中引入的angular.io/api/common/KeyValuePipe ... 但是如果您严格指的是 v5,则为 true
标签: arrays json angular angular5 ngfor