VUE相关问题

文章讲述了在前端开发中,使用$router进行路由跳转时如何处理携带参数的问题,特别是当参数为JSON对象时,需先转化为字符串并编码。同样,localStorage在存储对象时也需要转化为字符串。在接收端,需要使用decodeURIComponent和JSON.parse进行解码和恢复对象。同时指出,使用params方式进行路由跳转时,路由方式必须使用name。
摘要由CSDN通过智能技术生成

1.$router路由跳转

路由跳转的时候,携带参数的字符串长度是有限制的,可以先用JSON.stringify把JSON对象转成字符串,然后用encodeURIComponent 编码再发送出去

let orderItemList =encodeURIComponent(JSON.stringify(resp.data.data)) 
this.$router.push({ name: 'process', params: { orderItemList:orderItemList} })

接收页面用decodeURIComponent先解码,然后用JSON.parse再转成JSON对象即可

let orderItemList = JSON.parse(decodeURIComponent(this.$route.params.orderItemList))

路由跳转的时候用query和params都可以带参数,但如果使用params的话,路由方式只能使用name

2.localStorage

localstorage只能存储字符串,所以想将对象存入localstorage,就要先将对象转换成字符串,跟上面一样用JSON.stringify

localStorage.setItem('address',JSON.stringify(address))

然后用JSON.parse转回对象

JSON.parse(localStorage.getItem('address'))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值