如何从包含Angular 7中的数组的对象获取数据

时间:2018-11-08 13:38:19

标签: angular angular7

我已经在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情感地映射它。请注意,“响应”已被弃用。 谢谢

2 个答案:

答案 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;
  });
}