【发布时间】:2019-12-10 21:54:25
【问题描述】:
我在属性 products 中声明数组 IProducts 如下所示.. 但令我恼火的是他们没有识别 productName 已声明..请我需要帮助
product-list.component.ts
filteredProducts: IProduct[];
products : IProduct[] = [{
"productId": 2 ,
"productName": "Garden Cart" ,
"productCode": "GDN-0023" ,
"releaseDate": "March 18,2018",
"description": " 15 gallon capacity rolling",
"price" : 32.99,
"starRating": 4.2,
"imageUrl" : "http://openclipart.org/image/300px/sgv_to_png/58471/garden_cart.png",
},
{
"productId": 5 ,
"productName": "Hammer" ,
"productCode": "TBX-0048" ,
"releaseDate": "May 21,2016",
"description": " Curved claw steel Hammer",
"price" : 8.9,
"starRating": 4.8,
"imageUrl" : "http://openclipart.org/image",
}
] ;
constructor() {
this.filteredProducts = this.products;
this.listFilter = 'cart';
}
performFilter(filterBy: string): IProduct[]{
filterBy =filterBy.toLocaleLowerCase();
return this.products.filter((product: IProduct) =>
this.products.productName.toLocaleLowerCase().indexOf(filterBy) !== -1);
}
终端生成以下错误:“src/app/products/product-list.component.ts(131,27): error TS2339: Property 'productName' does not exist on type 'IProduct[]'.”
【问题讨论】:
-
看起来不错,我猜您的数组没有名为 productName 的属性,但数组中的单个产品可能有;)
标签: angular typescript