“从不”类型上不存在属性。在一个函数中

时间:2021-02-06 13:53:35

标签: typescript

    //the error is 
    //(Property 'productId' does not exist on type 'never'.) 
    //and 
    //(Property 'qty' //does not exist on type 'never'.)
    
    
import { Component, OnInit } from '@angular/core';
import { MessengerService } from 'src/app/services/messenger.service';
import { Product } from 'src/app/models/product';

@Component({
  selector: 'app-cart',
  templateUrl: './cart.component.html',
  styleUrls: ['./cart.component.css']
})
export class CartComponent implements OnInit {

  cartItems = [];
  cartTotal = 0
  
   
  
  constructor(private msg: MessengerService) { }

  ngOnInit() {
    this.msg.getMsg().subscribe((product:any = Product) => {
      this.addProductToCart(product)
      
    })
  }

addProductToCart(product: Product) {

  let productExists = false
  

  for (let i in this.cartItems) {
    if (this.cartItems[i].productId === product.id) {
      this.cartItems[i].qty++
      productExists = true
      break;
    }
  }

问题出在这个函数中,productId 和 qty 给出了错误 //(属性 'productId' 在类型 'never' 上不存在。) //和 //(属性 'qty' //在类型 'never' 上不存在。)

1 个答案:

答案 0 :(得分:0)

当你在 typescript 中声明一个空数组时,它的默认类型是 never[]。尝试 decalare 类型:

cartItems: cartItemType = [];
相关问题