请问在vue组件里应该如何获取localstorage 里的数据

vue组件里如何获取localstorge里的值,并转化成json对象保存在data里……

阅读 22.1k
5 个回答

原来怎么获取就怎么获取。和vue有什么关系嘛。。。。

localStorage是 window 上的对象,相当于保留字(当然你也可以改写或者扩展),并不耦合于任何框架。如果你调用不了,可能是被改写(这么变态吗),当然如果是用 ts,那就要相应的类型断言了。

直接使用:获取:localStorage.getItem("name") 设置:localStorage.setItem("name","xiaoya") 删除:localStorage.removeItem("name")

之前回答过类似问题:vue 登录存localStorage的方法,希望对你有所帮助。
补充下localStorage 知识点:
JS对象
读取形式:
localStorage.name
添加/修改
localStorage.name = "xuanyuan"
其中"xuanyuan"只能是字符串形式(目前为止只支持字符串)。所以存储时是JSON对象时需要执行下JSON.stringify,所以获取时需要执行下JSON.parse
删除
detele localStorage.name

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作用域是窗口、协议、主机名、端口。

JS中通过window.localStorage对象可以直接使用

//获取localStorage中的值
var obj = window.localStorage.getItem("item")
//转化为json对象
var obj = JSON.parse(obj)

//将对象保存到localStorage中
var obj = JSON.stringify(someObj);
window.localStorage.setItem('item',obj);

推荐问题