更新购物车并删除购物车中的多余项目

Update cart and remove redundant items in cart

本文关键字:购物车 多余 项目 删除 更新      更新时间:2023-09-26

我一直在尝试在我的应用程序中创建一个简单的购物车功能。我的应用程序使用聚合物,推车和产品都在一个组件中。我默认使用coffeescript,但javascript中的任何帮助都同样有用。

功能是增加产品的数量,同时增加购物车中的数量。

这就是我增加页面数量的方式

increaseQty:(e)->
      tmp = @filteredItems.findIndex (i) ->
        i == e.model.item
      @set 'filteredItems.' + tmp + '.quantity', e.model.item.quantity + 1
      @addToCart e

"addToCart"功能非常简单。我只是将当前项目推入购物车。

addToCart:(e)->
          #i = 0
          @push 'cart', e.model.item

我的问题是,当我添加的数量超过"1"时,它会复制购物车中的项目,最后一个实例是我需要的。

我曾尝试与"while"循环进行比较,以检查购物车中是否已经有商品,并试图增加数量,但效果不佳。我想有更好的方法可以做到这一点。如有任何帮助,我们将不胜感激。

您可以使用underscore.jsany功能在插入之前检查商品是否已经在购物车中。

假设CCD_ 3具有能够唯一地标识该项目的属性CCD_。

 require 'underscore'
 found = _.any cart, (elem) -> elem.id == e.model.item.id
 if !found:
    @addToCart e

我没有测试代码。只是一个大概的想法。