首页 > 解决方案 > 从 api 获取数据但得到的属性 'data' 在类型 'object' 上不存在

问题描述

我得到错误:ERROR in src/app/app.component.ts(38,29): error TS2339: Property 'data' does not exist on type 'Fetch[]' 在此处输入图像描述

但是 Fetch 有 data 属性并且它工作正常,那么为什么我得到这个错误呢?

标签: arraysangularobjectobservablehttpclient

解决方案


在语句this.http.get<Fetch[]>中,响应应该是一个数组Fetch。请检查 API 返回的响应类型是什么。有两种可能性。

  1. 如果它是类型的对象Fetch,请将调用替换为this.http.get<Fetch>
  2. 如果它是一个对象数组,并且如果您需要将响应Fetch的键分配给一个数组,则使用.datathis.responsemap()
this.response = res.map(r => r.data);

推荐阅读