首先,我们项目需求,用户需要选择车的品牌–>品牌对应下的系列–>系列下对应的车型–>车型下对应的年份。
那么一共就是要给后台传递用户选择的四个值,但这四个值是依次选择的,有一个依赖关系,不能跨列选择。所以,我就用缓存的 方式来缓存用户依次选择的值。
但是,四个值用缓存肯定得用一个对象来装这四个值
**
我这里用的是同步和异步(自己给自己挖了一个坑),再最后一个值的时候,同页面数据同步和异步之间会有延迟,请统一用同步或者统一用异步来存取缓存,不要向我这样用两种,在取最后一个值的时候自己给自己刨坑!!!
**
1.当我第一次取到值设置缓存的时候就应该是缓存一个对象,
let brand_name = this.data.brand[index].name //获取用户选择的值
let select_id = { brand_name: brand_name} //创建一个对象,缓存用户选择的值
wx.setStorage({
key: 'select_id',
data: select_id,
})
看我的缓存里有了第一次选择的值
2.第二次选择的值就要先取出第一次的值,
let select_id = wx.getStorageSync('select_id') //取出第一次用户选择的缓存
3.先拿到用户选择的值,再往这个对象里加入第二次选择的值,
var car_name = e.currentTarget.dataset.item.kindName //获取用户第二次选择的值
select_id.car_name = car_name // “用对象.用户选择的值=用户选择的值” 的方式向对象里面添加第二次选择的值
4.然后再把这个有两个值的新对象设置缓存,
wx.setStorage({
key: 'select_id',
data: select_id,
})
看我的缓存里添加进去了用户新选择的值
**
这篇博客的重点就是,怎么向一个对象缓存里添加新的值,用的方式就是先获取这个缓存的对象,再以 对象.值=值 的方式添加新选择的值到对象里,最后再缓存这个添加了新数据的对象就行
**