【问题标题】:Property 'id' does not exist on type 'never'. angular“从不”类型上不存在属性“id”。有角度的
【发布时间】:2022-07-21 21:50:34
【问题描述】:

您好,我正在练习一个小型商店网站项目 this one,但在将商品移动到购物车时遇到问题。

在文件 app/components/product-list/product-list.component.ts 第 33 行的源代码中:

const cartIdx = cartProducts.findIndex(cart => cart.id === cartProduct.id)

当我执行同一行时,我会遇到错误:“从不”类型上不存在属性“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;}

有人知道这是为什么吗?

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    我浏览了你的代码,你错过了 findIndex 中 cart 的数据类型,将其改为 const cartIdx = cartProducts.findIndex(cart: CartProduct => cart.id === cartProduct.id) from const cartIdx = cartProducts.findIndex(cart => cart.id === cartProduct.id)

    【讨论】:

      猜你喜欢
      • 2018-03-09
      • 2018-01-09
      • 2021-08-22
      • 2021-07-31
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      相关资源
      最近更新 更多