在我的 Firebase 数据库结构中,我需要将此运输表中的产品检索到我的 Angular 6 HTML 表格式中,我只访问运输数据,但无法访问产品子数据。它说错误:找不到“对象”类型的不同支持对象“[对象对象]”。NgFor 仅支持绑定到 Iterables,例如 Arrays。
**Shippment.service.TS:**
getshippings() {
this.shippings = this.db.list("shippings");
return this.shippings;
}
**UserComponent.TS:**
export class UserComponent implements OnInit {
[x: string]: any;
shippinglist : Billing[];
user:User;
shipping: Billing;
constructor(public authService: AuthService,
private shippingService:ShippingService) {}
ngOnInit() {
this.getAllProducts();
}
getAllProducts() {
const x = this.shippingService.getshippings();
x.snapshotChanges().subscribe(
product => {
this.shippinglist = [];
product.forEach(element => {
const y = element.payload.toJSON();
y["$key"] = element.key;
this.shippinglist.push(y as Billing);
});
}
);
}
}
** Billing.TS:**
export class Billing {
$key: string;
firstName: string;
lastName: string;
emailId: string;
address: string;
landmark: string;
country: string;
state: string;
zip: string;
city:string;
phone:number;
products : [{
$key?: string;
productId: number;
title: string;
category: string;
price: number;
descr: string;
imageUrl: string;
}]
}
**HTML:**
<table class="table">
<thead>
<tr>
<th>Name</th>
<th> Address </th>
<th> Email ID </th>
</tr>
</thead>
<tbody>
<tr *ngFor="let p of shippinglist">
<td>{{p.firstName}} {{p.lastName}}</td>
<td>{{ p.address }}, {{p.landmark}},{{p.city}}, {{p.state}},
{{p.country}},{{p.zip}}</td>
<td>{{ p.emailId }}</td>
<ng-container *ngFor="let m of p.products">
<td>{{m.dscr}}</td>
</ng-container>
</tr>
</tbody>
</table>
I **expect output** to get also product information in my table: ![Firebase Database][1][Output Screen][2]
[1]: https://i.stack.imgur.com/BfHW0.jpg