小程序不使用路由传参
今天在写小程序详情页对购物车传输数据的时候遇到一些问题,再此做个总结
问题:当我们在小程序某一个页面需要对指定的页面添加数据而不进行跳转,也是很苦恼,相对vue直接可以使用vuex很便捷。对小程序知之甚少,在网上寻找了一些资料也有了点头绪。
解决办法:小程序本地存储
小程序的本地存储使用方法与h5的存储方法本质上没有什么区别,通过key名保存当前的数据,在指定的页面利用key取出数据并保存在data对象里。
在这里通过setStorage对数据进行保存
wx.setStorage({
key:"key",
data:"value"
})
取出时使用的方法
wx.getStorage({
key: 'key',
success (res) {
console.log(res.data)
},
fail(err){
console.log(err)
},
complete(data){
console.log(data)
}
})
成功取到数据会调用success方法,如果没有数据则调用fail方法,complete方法不管是否取到数据都会进行调用。
wx.clearStorage()
清空本地存储
wx.removeStorage({
key: 'key',
success (res) {
console.log(res)
}
})
可以删除指定的key,相对应的value也被移除。