Javascript 错误类型错误:无法读取属性'-LlWio7vFBuxfeviKdWa&x27;未定义的

Javascript 错误类型错误:无法读取属性'-LlWio7vFBuxfeviKdWa&x27;未定义的,javascript,angular,firebase,firebase-realtime-database,Javascript,Angular,Firebase,Firebase Realtime Database,我在将产品添加到购物车(最终托管在Firebase中)时遇到此错误。我正在学习本教程,但我似乎无法理解我遗漏了什么;该对象是在firebase中创建的,但错误仍然存在,我无法显示购物车中的产品数量 产品组件的TS:' constructor( private productService: ProductService, private route: ActivatedRoute, private shoppingCartService: ShoppingCar

我在将产品添加到购物车(最终托管在Firebase中)时遇到此错误。我正在学习本教程,但我似乎无法理解我遗漏了什么;该对象是在firebase中创建的,但错误仍然存在,我无法显示购物车中的产品数量

产品组件的TS:'

    constructor(
    private productService: ProductService,
    private route: ActivatedRoute,
    private shoppingCartService: ShoppingCartService) {



    this.productService.getAll().subscribe(products => {
      this.products = products; 
      route.queryParamMap.subscribe(params => {
        this.category = params.get('category');

      });
    })
  }

      async ngOnInit() {
        this.subscription = (await this.shoppingCartService.getCart())
        .subscribe(cart =>{
          this.cart = cart;
          console.log(cart)
        })

      }



     addToCart(product: Product){
            this.cartService.addToCart(product);
            console.log(this.shoppingCart)
            let item = this.shoppingCart.item[this.product.$key];
            console.log(item)
          }
HTML:

<button 
            (click)="addToCart(product)" 

            class="btn btn-primary btn-block">
            Add to cart
            </button>
            <div>{{getQuantity()}}</div>

变得略带红色,但VC在您的代码中没有代码提示,您正在接受一个
产品
,但您正在引用
此.product.$key
。试试
产品。$key

addToCart(product: Product){
    this.cartService.addToCart(product);
    console.log(this.shoppingCart)
    let item = this.shoppingCart.item[product.$key];
    console.log(item)
}
请写下.valueChanges() 我想它会起作用的。
如果它不起作用,请通知我。

您从哪里得到错误?在控制台中,我将添加一张图片,不太确定Firebase,但这是有效的语法吗<代码>项$.update({quantity:item.quantity+1})?很抱歉回复太晚了,但这样不行,你看,我有一个产品属性当你
console.log(product)
v
console.log(this.product)
它们是否相同?
if (item.$exists()) item$.update({ quantity: item.quantity + 1 });
addToCart(product: Product){
    this.cartService.addToCart(product);
    console.log(this.shoppingCart)
    let item = this.shoppingCart.item[product.$key];
    console.log(item)
}
async ngOnInit() {
    this.subscription = (await this.shoppingCartService.getCart())
        .valueChanges()
        .subscribe((cart) => (this.cart = cart));
}