问题描述
到目前为止,在我的应用程序中,我从模拟对象数组(每个对象代表表的一行)中检索了必须显示在表中的数据。
最初,我只是在组件TypeScript代码中添加了以下内容:
orders: any[];
然后进入我完成的 ngOnInit()方法中:
this.ordersService.getAllOrders().then(orders => {
this.orders = orders;
console.log("RETRIEVED ORDERS: ",orders);
this.loading = false;
});
其中我服务的 getAllOrders()方法只是从JSON文件中检索数据(数组):
getAllOrders() {
return this.http.get<any>('assets/json_mock/ordini.json',{responseType: 'json'})
.toPromise()
.then(res => res.data)
.then(data => { return data; });
}
它工作正常。
现在,我正在尝试从 FireStore 数据库中检索此对象数组,但遇到了一些问题。
我是这样做的。
现在,我已经进入组件类的 ngOnInit():
this.ordersService.getAllOrders().subscribe(ordersList => {
console.log("RETRIEVED ordersList: ",ordersList);
this.orders = ordersList;
console.log("RETRIEVED ORDERS: ",this.orders);
this.loading = false;
});
然后将 getAllOrders()更改为服务类:
getAllOrders(): Observable<any[]> {
this.ordersList = this.db.collection('Orders').snapshotChanges();
return this.ordersList;
}
它之所以能够部分起作用,是因为它能从FireStore中检索某些东西(连接工作正常),我想也是我的“查询”。
问题在于,进入我组件的 subscribe()方法中的这些行:
this.ordersService.getAllOrders().subscribe(ordersList => {
console.log("RETRIEVED ordersList: ",ordersList);
this.orders = ordersList;
console.log("RETRIEVED ORDERS: ",this.orders);
this.loading = false;
});
在Chrome控制台中打印:
所以我认为我必须以某种方式从该对象中提取数组。我想念什么?我该怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)