问题如下:
当前需要在一个页面点击某个具体的数据并保存下来以便跳转到下个页面的时候使用
传递一个具体的值过去
当时我在data中定义了一个sendMsg:{}
期间在代码中给sendMsg赋值
传值的时候使用了localStroage.setItem(“msg”,this.sendMsg)
却忽略了一个问题-----我定义的sendMsg是一个对象
在另一个页面接收的时候出现问题—打印接收到的值为Object
解决措施如下
localStorage.setItem("msg",JSON.stringify(this.myMsg))
let msg=JSON.parse(localStorage.getItem("msg"))
console.log(msg)
localStorage.removeItem('msg');
众所周知localStroage是长时效性的存储方式
以上代码中的最后一行可以在使用完毕之后对存储的东西进行清空,以便于节省内存
但是只要是操纵localStroage便会造成内存的一系列问题
为了方便,也可选用如下方案
sessionStorage.setItem("msg",JSON.stringify(this.myMsg))
let msg=JSON.parse(sessionStorage.getItem("msg"))
console.log(msg)
相比之下session方式比local方式的好处在于当你关闭浏览器的时候它便会自动销毁 不需要进行最后一步的手动清除
在研究完好多办法之后,由于个人能力有限无法使用vuex对此问题进行处理,欢迎各位大佬指导