vuex 刷新就会丢失
sessionStorage 它有只要页面不关闭,不手动删除数据,数据就会一直存在,现在貌似存储量为4兆左右
localStorage 它的特点是,除非我们手动删除,否则数据不会丢失,即使关闭页面,数据依然会存在,着让我们很容易想到页面经常提示的是否要保存密码,当点击是的时候,数据就保存到localStorage中了
当点击que事件时,进行跳转,并保存数据
que (item) {
this.cc.push(item.name)
var name = this.cc.toString()
sessionStorage.setItem('objStr', name)
// this.$store.commit('jiLu', name)
this.getDate()
// this.$router.push('/ershou/' + name)
this.$router.push({path: '/ershou', query: {village: name}})
}
那么数据在哪读呢,可以在我们任何vue的文件中读,例如
created () {
var a = sessionStorage.getItem('objStr')
if (a) {
this.cc = a.split(',')
}
}
API
获取键值对数量
localStorage.length
读取
localStorage.getItem('name'), localStorage.key(i)
添加/修改
localStorage.setItem('name','xuanyuan')
删除对应键值
localStorage.removeItem('name')
删除所有数据
localStorage.clear()
顺便说下,localStorage有效期是永久的。一般的浏览器能存储的是5MB左右。sessionStorage api与localStorage相同。
sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。
localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中)
sessionStorage作用域是窗口、协议、主机名、端口。
知道了这些知识点后,你的问题就很好解决了。
localStorage是window上的。所以不需要写this.localStorage,你这里的this,是指vue实例。
方案一、
// 这里写的答案是指data.body.data是JSON。不是JSON则不需要JSON.parse和JSON.stringify
存储:localStorage.data = JSON.stringify(data.body.data);
获取:JSON.parse(localStorage.data);
方案二、
存储:localStorage.setItem('data',JSON.stringify(data.body.data));
获取:JSON.parse(localStorage.getItem('data'));
网友评论