locaStorage 是 Storage 的实例,有 setItem(name, value) 、getItem(name)、removeItem(name)、key(index)、.操作符、clear()方法, 还可以根据 length 属性获取 localStorage 中有多少键值对。
Storage 类型只能存储字符串,非字符串的数据在存储之前会被转换成字符串。
因此存储对象类型的数据要先通过 JSON.stringify 方法转换成 json 字符串后再保存在 locaStorage 中,否则 locaStorage 中保存的 value 为[Object object]
例:从 locaStorage 中获取缓存数据保存在Store中
initData(){
if(this.$store.state.personal.lastPerf.score === 0){
if(localStorage.getItem('personal')){
let str = localStorage.getItem('personal')
let personal = JSON.parse(str)
let state2 = {
user: personal.user,
lastPerf: personal.lastPerf,
sum: personal.sum,
rightNo: personal.rightNo
}
this.$store.commit('initPersonal', state2)
}
} else {
if(this.$store.state.personal.user != this.user.userName){
console.log("清除缓存")
localStorage.clear()
}
}
}