目录
小程序的持久化存储
1.在vuex中声明一个叫做 saveToStorage 的 mutations 方法,依靠setStorageSync方法
saveToStorage(state) {
uni.setStorageSync('xxx', JSON.stringify(state.xxx))
}
2.在合适的位置, 通过 commit 方法,调用 saveToStorage 方法
this.commit('saveToStorage')
3.修改vuex中的state函数,读取本地存储的数据,依靠uni.getStorageSync,并对state中的数据进行初始化
state: () => ({
cart: JSON.parse(uni.getStorageSync('xxx') || '依情况而定,可能是对象也可能是数组或者字符串')
}),
JSON的格式转化
本地存储只能存储字符类型的数据,可以在存储时将其转化为JSON字符串类型,取出来的时候再将其转化回来
JSON.parse() //将JSON格式的字符串转化为对象类型
JSON.stringify() //将JSON格式的数据(对象类型)转化为JSON格式的字符串
举个例子:——现在要向本地存储一个对象obj
var obj={
name:'李白',
age:18
}
// 持久化存储
// let objpro=JSON.stringify(obj)
localStorage.setItem('objpro',obj)
// console.log(objpro)
如果不使用JSON.stringify() ,那么在本地显示的是
如果是这样的话,我们之后就算取,也是取不出来里面的数据的,所以要使用JSON.stringify()
那将本地中的数据取出来的,也是JSON数据,我们需要的不是json数据,同理使用JSON.parse() 将其转化成原来正常的数据类型就可以了。