关于商品列表的代码优化问题

来源:11-7 根据购物车选中状态计算订单金额(1)

慕容6332229

2021-05-01

老师,购物车商品数量您对代码做了优化,将
{{cartList?.[shopId]?.[item._id]?.count || 0}} 商品数量,优化为
{{item.count || 0}}
我对这个优化有点不理解,就是:这个item,来自于list列表,list列表的是api接口里取出的数据。原本api取出的数据,商品信息是没有count属性的。这里为何item中能有count?
count属性是在购物车的cartlist列表中的商品中添加的。
而下方购物车上显示的购物车商品信息,是来自于购物车的cartlist的,在添加修改购物车时,是给购物车里的商品添加了count属性的。购物车的商品列表是可以如此优化的。但上方的店铺商品列表中的item并不来自于cartlist,所以这里能够这样取值和优化,我不理解。
见如下原项目代码:

<div class="product__number">
  <span
    class="product__number__minus"
    @click="() => { changeCartItemInfo(shopId, item._id, item, -1) }"
  >-</span>
    // 下方代码优化为 {{item.count || 0}},对此不理解
    {{cartList?.[shopId]?.[item._id]?.count || 0}}
  <span
    class="product__number__plus"
    @click="() => { changeCartItemInfo(shopId, item._id, item, 1) }"
  >+</span>
</div>
写回答

1回答

Dell

2021-05-01

关键在于 || 0,这个操作,如果没有count,我会默认让它是 0 啊

0
9
negrochn
回复
希望林柚一健康快乐成长
回复 希望林柚一健康快乐成长:虽然道理是懂的,但感觉最好还是不这样用,感觉容易出错,出了问题也难定位
2025-05-09
共9条回复

Vue3入门与项目实战 掌握完整知识体系

明星讲师DELL亲授,全方位知识点+高匹配度项目,入门到深度掌握

3382 学习 · 1454 问题

查看课程