Vue跨页面传值

问题如下:
当前需要在一个页面点击某个具体的数据并保存下来以便跳转到下个页面的时候使用
传递一个具体的值过去
当时我在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对此问题进行处理,欢迎各位大佬指导

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值