嗨,我正在一个小商店网站项目上练习这个项目,但我在将商品移动到购物车时遇到了问题。
在文件app/components/product-list.component.ts的源代码第33行:
const cartIdx = cartProducts.findIndex(cart => cart.id === cartProduct.id)
当我执行同一行时,我会遇到错误:类型"never"上不存在属性"id">
这是我的代码:
onSubmit(cartItem: Product){
let toCartItem: CartItems[] = [];
let alertMessage: string = '';
const itemCount = this.selectedOption;
const cartItems: CartItems[] | [] = this.ProductserveService.getCartItems();
const itemID = cartItems.findIndex(cart => cart.id === cartItem.id)
toCartItem = cartItems;
if((itemID === -1) || (cartItems.length === 0)){
toCartItem.push(Object.assign(cartItem, {option: itemCount}));
alertMessage = `New Item '${cartItem.name}' added to cart`;
}
this.ProductserveService.addToCart(toCartItem);
alert(alertMessage);
this.printLocalData();
return false;}
有人知道为什么吗?
我已经阅读了您的代码,您在findIndex中遗漏了cart的数据类型,将其从const cartIdx = cartProducts.findIndex(cart => cart.id === cartProduct.id)
改为const cartIdx = cartProducts.findIndex(cart: CartProduct => cart.id === cartProduct.id)
。