首页 > 解决方案 > 角度 6 中添加到购物车选项的本地存储

问题描述

我需要在电子商务 Web 应用程序中使用会话添加到购物车选项。会话没有得到更新。到现在我已经实现了这个:

onClickCart() {
     this
      .cartService
      .getCartDetails()
      .subscribe((data) => {
       localStorage.setItem('cartProducts', JSON.stringify(this.productInfoCart));
       console.log("Session data: ",localStorage.getItem('cartProducts'));
    });
  }

标签: angular

解决方案


可能的问题是您没有使用最新数据更新 productInfoCart

this.productInfoCart = []; // initialize

onClickCart(){
     this
      .cartService
      .getCartDetails()
      .subscribe((data) => {
       //this.productInfoCart = data; //add this line
       // if you want to add new item to cart
       this.productInfoCart.push(data);
       localStorage.setItem('cartProducts', JSON.stringify(this.productInfoCart));
       console.log("Session data: ",localStorage.getItem('cartProducts'));
    });
  }

如果我正确理解了您的问题,那么这应该对您 有用 https://stackblitz.com/edit/angular-srslhc?file=src%2Fapp%2Fapp.component.ts


推荐阅读