arrays - 从 api 获取数据但得到的属性 'data' 在类型 'object' 上不存在
问题描述
我得到错误:ERROR in src/app/app.component.ts(38,29): error TS2339: Property 'data' does not exist on type 'Fetch[]'
但是 Fetch 有 data 属性并且它工作正常,那么为什么我得到这个错误呢?
解决方案
在语句this.http.get<Fetch[]>
中,响应应该是一个数组Fetch
。请检查 API 返回的响应类型是什么。有两种可能性。
- 如果它是类型的对象
Fetch
,请将调用替换为this.http.get<Fetch>
。 - 如果它是一个对象数组,并且如果您需要将响应
Fetch
的键分配给一个数组,则使用.data
this.response
map()
this.response = res.map(r => r.data);
推荐阅读
- node.js - 如何以保存在节点服务器上的角度显示图像
- python - 如何决定 keras 密集层构造函数使用哪些参数?
- python - 从scrapy获取无
- javascript - JavaScript 中的 Promise 即使没有被消耗也能保证取得进展吗?
- azure-cosmosdb - Azure cosmos db 存储过程不起作用
- scala - 如何在scala函数式编程中实现db操作
- angular - 最简单的 ControlValueAccessor 不起作用
- sql-server - 如何在 SQL Server 中检查列中的特殊字符?
- php - 如果数组为空,Google Ads API 将如何反应?
- laravel - Laravel 护照创建令牌和刷新令牌