关于cartList?.[shopId]?.[item._id]?.count

关于cartList?.[shopId]?.[item._id]?.count

问题描述:

老师,这句中我只有item._id不明白,为什么不写成productId._id呢?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好, 因为carstlList中并没有productId这个属性,item._id才表示productId的具体值,如下:shopId下,有很多productId,productId是商品的id:

http://img1.sycdn.imooc.com//climg/60682622099a38b309270552.jpg

而list是所有商品的数据,item是list中的每一项:

http://img1.sycdn.imooc.com//climg/6068269e09b863cc08810162.jpg

可以打印看一下list:

http://img1.sycdn.imooc.com//climg/606826f909f4e0c907820432.jpg

http://img1.sycdn.imooc.com//climg/6068275e093a1f2d10590162.jpg

从上图可知,item中的_id就是productId,所以要写成item._id

http://img1.sycdn.imooc.com//climg/606827cd09570a1208140504.jpg

祝学习愉快~

  • 慕运维1161037 提问者 #1

    老师,这个我明白了,就是还有一个问题,就是为什么cartList能够用item._id呢?item._id这个属性不是应该是list.item下的值吗,list和cartList并没有关联阿,为什么也能用呢?


    2021-09-08 14:33:08
  • 好帮手慕慕子 回复 提问者 慕运维1161037 #2

    同学你好, 可以参考如下分析理解:

    list对应的是发送请求返回的商品列表数据,也就是展示在页面中的内容,如下图所示:

    https://img1.sycdn.imooc.com//climg/61385bc309677db007900369.jpg

    carstList对应的是添加到购物车中的数据,结合下图标注理解:

    https://img1.sycdn.imooc.com//climg/61385e0709173dfb15070902.jpg

    根据上面的图文可知, 在点击加号按钮时,将list中对应的商品信息添加到cartList中,也就是说list和cartList之间的关系是对应的,所以carstList是可以使用list遍历中的item._id获取到已经添加到购物车中的商品数据。

    祝学习愉快~

    2021-09-08 14:59:59
  • 慕运维1161037 提问者 回复 好帮手慕慕子 #3

    那么其实是先将list得数据存储在cartList中之后cartList?.[shopId]?.[item._id]?.count这句才能执行是吧


    2021-09-08 15:13:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师