在vue中,数据存放到localstroage中,现在要用存到localstroage中的数据。如何取出

张Dream
  • 44

我现在要用到存放到localstroage中的数据,localstroage中的格式是一个json,我现在要用存到localstroage中的name,请问该怎么取呢?在线等

回复
阅读 2.6k
5 个回答

跟vue没啥关系。
你需要的是百度搜索“localStorage的使用”,点击回车,搜索就可以了,什么解释都有。
然后,楼上说的都没有问题。
我想说的是,遇到问题,先想着自己解决,解决不了了上百度,一般都可以百度到。
像sf这种,我觉得,你有在编辑器编辑这个问题的时间,百度搜索一下已经解决了。
如果解决不了,再来sf问,岂不是更好。

var a = {
    name: "silence",
    age: "18"
}
localstroage.setItem('info', JSON.stringify(a)); // 存
var name = JSON.parse(localstroage.getItem('info')).name; // 取

如一楼所说,首先无论是什么样的类型数据,存储在localStroage中的时候都是以key,value的形式进行存储的,value存储为字符串类型,取出的时候是以key来进行取出,比如:

const userInfo = {
    age:22,
    name:'xxx'
}

存储:localStroage.setItem('user',JSON.stringify(userInfo))
取出:JSON.parse(localstroage.getItem('user'));

这类是问谷歌百度,看文档能解决的问题。多查查MDNMDN LocalStorage
之前回答过类似问题,
在segmentfault回答了这个《vue 登录存localStorage的方法》问题。
链接:https://segmentfault.com/q/10...

使用localStorage的JS对象形式有时候更灵活。

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

存到localstroage中的数据都会转成字符串,取得时候也是字符串,字符串转一下json就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏