这里写自定义目录标题
小程序商品数据对象累加加入购物车缓存导致的数组嵌套在上一层数组中(新手遇到的问题)
新手刚开始在写微信小程序时,当没有购物车接口时,我们会用缓存来代替一下,当然新手可能会遇到上述问题
1、先来模拟一下点击加入购物车的
buyNow(){ //点击加入购物车事件
let good =[this.data.detail] //这里先获取商品详情页的商品数据 detail
try{ //获取缓存
var value =wx.getStorageSync('goods') //这里的goods是储存商品数据的key,我是直接在打开微信小程序时,在app.js里直接存储个空的key值
//先来个判断
if(!value){ //这里先判断刚开始加入购物车时,缓存是没有值的情况下,我们可以直接添加就可以了
wx.setStorage({
data:JSON.stringify(good), //这里就是转换成字符串之后的商品详情
key:'goods' //key值
})
}else{ //这里就是多次添加购物车时操作的方法,在这里可能就会出现数组多重嵌套导致的问题
let getgood =JSON.parse(value) //这里就是先获取缓存中的商品,也就只之前加入购物车中的,
getgood.push(this.data.detail) //这里就是添加到上面的这已经有之前商品的数组中,如果想要把最新的放在前面,用unshift也是可以的
wx.setStorage({ //这里就是存储到缓存
data:JSON.stringify(getgood),
key:'goods'
})
}
}catch(e){
console.log(e)
}
}