//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' 上不存在。)
答案 0 :(得分:0)
当你在 typescript 中声明一个空数组时,它的默认类型是 never[]。尝试 decalare 类型:
cartItems: cartItemType = [];