类型“未定义”不可分配给类型“CartItem”

问题描述 投票:0回答:1

我在运行程序期间收到错误“类型‘未定义’不可分配给类型‘CartItem’”,我无法解决该错误:(。

import { Injectable } from '@angular/core';
import { CartItem } from '../common/cart-item';
import { Subject } from 'rxjs';


@Injectable({
  providedIn: 'root',
})
export class CartService {
  cartItems: CartItem[] = [];

  totalPrice: Subject<number> = new Subject<number>();
  totalQuantity: Subject<number> = new Subject<number>();

  constructor() {}

  addToCart(theCartItem: CartItem) {
    // check if we already have the item in our cart
    let alreadyExistsInCart: boolean = false;
let existingCartItem: CartItem = undefined;


---This is Product class---
export class Product {
  constructor(
    public id: string,
    public sku: string,
    public name: string,
    public description: string,
    public unitPrice: number,
    public imageUrl: string,
    public active: boolean,
    public unitsInStock: number,
    public dateCreated: Date,
    public lastUpdate: Date
  ) {}
}

---This is CartItem class---
export class CartItem {
  id: string;
  name: string;
  imageUrl: string;
  unitPrice: number;
  quantity: number;

  constructor(product: Product) {
    this.id = product.id,
    this.name = product.name,
    this.imageUrl = product.imageUrl,
    this.unitPrice = product.unitPrice ,
    this.quantity = 1
  }
}

类型“未定义”不可分配给类型“CartItem”我收到错误如何解决此错误

angular typescript undefined variable-assignment
1个回答
0
投票

如果只是错误

let existingCartItem: CartItem | undefined;

这会将

existingCartItem
初始化为
undefined

© www.soinside.com 2019 - 2024. All rights reserved.