我已经在Firebase上创建了一个集合,从API返回的数据如下:
documents: Array[2]{
0: name: "randomString",
{fields:
{name: aName, id: 1}
},
1: name: "randomString",
{fields:
{name: aName2, id: 2}
}
}
在前端,我有一个对象数组,我也很想映射每个数组成员。当我尝试将API的响应分配给本地数组时,我显然会收到错误消息,因为它试图将对象发送到与本地数据模型不符的数组中:
getData() {
this.dataService.getData()
.subscribe( res => this.localArray = res; )
}
data-service.ts
getData(): Observable<any> {
return this.http.get(this.url).pipe(map(res => res.documents));
}
如何使用Angular情感地映射它。请注意,“响应”已被弃用。 谢谢
答案 0 :(得分:0)
尝试使用res.documents
。该数组位于您的响应中的属性文档上
答案 1 :(得分:0)
在服务中您应该写
return this.http.get(YOUR_API_URL).pipe(map(response => response.documents));
然后在您的组件中执行以下操作:
getData() {
this.dataService.getData().subscribe(response => {
this.localArray = res;
});
}