微信小程序添加新商品只增加num问题
本文章主要是针对在看黑马程序员微信小程序开发前端教程视频的P92-购物车商品选中这一集的 遇见新商品添加问题的朋友给的解决办法。
出现的问题
添加新的商品进入购物车,购物车中有添加的信息,但无法再次添加另一个商品,只有第一个商品的num增加了。
问题的原因
我在寻找问题出现的过程中,查看了缓存数据中的cart,如下图所示: 不管我如何添加新商品,缓存中的cart只有一个,只有num改变,没有再生成一个cart,自然联想到是加入购物车的方法出了问题,于是转头去看写有加入购物车办法的goods_detail.js 如下图: 如图所示,既然是if和else这点出了问题,第一次添加也能添加上,说明添加没问题,那么一定就是判断出了问题。 仔细思考,当index无法满足cart.findIndex(—),返回-1,然后执行第一次添加,不返回-1,说明满足,num++,逻辑没问题。 所以一定是index获取出现了问题。 使用console.log(this.GoodsInfo) 我写的是: 这层级根本就不对啊,怪不得获取不到值,不管添加啥都是一直num++ 把层级改一下: 下面展示一些 内联代码片 。
// A code block
var foo = 'bar';
let index = cart.findIndex(v=>v.goods_id===this.GoodsInfo.data.message.goods_id);
这样就没毛病了
附上正确的比较完整的代码
这样就可以拉,有问题还可以私信我,如果我看到会尽力帮你的忙
|