angular - 在 Angular 服务中获取数据的函数中出现 TS2739 错误
问题描述
我创建了这个函数来从我的虚拟数据中获取对象并将其设置为一个变量。
setData(key: string) {
let dataChunk: ProductIndex = PRODUCTDATA.filter(a=>{a.productId == key;});
this.ProductData = dataChunk;
}
我在第 15,13 行收到 TS2739 错误,这正是dataChunk
开始说明类型中的每个属性都从ProductIndex
类型中丢失ProductIndex[]
的PRODUCTDATA
.
我的数据是这样保存的
export const PRODUCTDATA: ProductIndex[] = [
{
productId: 'divider_01',
title: 'Divider 01',
description: 'A brief description for Divider 01',
sizes: [...],
instructionKey: 'divider_01_instruction_key'
},
{...},
{...}
]
ProductIndex
界面看起来像这样
export interface ProductIdCore { productId : string; }
export interface TitleCore { title : string; }
export interface ShortDescriptionCore { description : string; }
export interface ProductIndex extends ProductIdCore, TitleCore, ShortDescriptionCore{
sizes: ProductIndexItem[];
instructionKey: string;
}
我正在使用带有 TypeScript 3.4.0 的 Angular 8。我不明白我在这里做错了什么,有人可以帮忙吗?
解决方案
尝试这个;
setData(key: string){
let dataChunk: ProductIndex = PRODUCTDATA.filter(a=>a.productId == key);
this.ProductData = dataChunk;
}
你有{a.productId == key;}
哪个是错的。
如果要使用花括号,请执行以下操作:
....PRODUCTDATA.filter(a=>{ return a.productId == key;});
推荐阅读
- excel - Excel 列表框未正确填充
- javascript - 在可搜索的下拉菜单中设置默认值
- php - 从 Oculus Quest 上传到 LAMP 服务器时,上传的文件为 0 字节
- python - 合并熊猫上的两个数据框
- javafx - Jfreechart-fx:如何在组合域图中调整子图的大小
- android - 全屏打开详细信息的BottomNavigationView
- html - 我怎样才能删除链接中的下划线
- ios - 广度优先搜索:线程 1:Swift 运行时失败:强制展开 nil 值
- python - PM2启动的奇怪问题
- sqlite - Listview不显示存储在数据库中的数据