vue-router使⽤query传对象、数组,刷新后参数丢失
在页⾯之间跳转,需要携带参数。正常传参的话就vue-router的params,query两种,或者使⽤localStorage本地持久化存储。
为了刷新不丢失数据, 我使⽤query进⾏传参,但是我传的是⼀个对象。发现刷新后,即使url⾥还有object的相关信息,但是数据还是丢失了。
原因:
第⼀次跳转,是没有问题的。刷新页⾯后,url⾥的object就会变成字符串,数据就丢失了。
解决⽅法:
使⽤JSON.stringify将对象数据包裹,转换为字符串。在接收时使⽤JSON.parse解析回对象。
// 传参
this.$router.push({
name:'PreGenerateVoucher',
query:{
voh_config:JSON.stringify({
bill_name: item.bill_name,
vuejson转对象os_bill_type: item.bill_type,
year: year,
month: month
})
}
})
// 接收
mounted(){
this.voh_config =JSON.parse(this.$route.query.voh_config)
const leng =this.$store.state.tagsView.visitedViews.length
// 修改页签名字
this.$store.state.tagsView.visitedViews[leng -1].title ='选择'+this.voh_config.bill_name
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论