vue-router传对象、数组,刷新后参数丢失
参数丢失情况:query传参里面有对象的话,页面再次刷新丢失,打印会打印出 [Object,Object] ;this.$router.push({path:'/checkOrder',push:{item:{name: 'anna',age: 18}}})如果从 A页面 跳转到 B页面需要携带以下 A页面的参数时,在 B页面 刷新时,就会导致参数消失;解决办法:(1)可以在A页面中点击跳
·
参数丢失情况:
query传参里面有对象的话,页面再次刷新丢失,打印会打印出 [Object,Object] ;
this.$router.push({
path:'/checkOrder',
push:{
item:{
name: 'anna',
age: 18
}
}
})
如果从 A页面 跳转到 B页面需要携带以下 A页面的参数时,在 B页面 刷新时,就会导致参数消失;
解决办法:
(1)可以在A页面中点击跳转的时候,在本地存储一下需要携带的参数(借助localStorage)
//当前页面:
let order = new Order(obj);
this.$router.push({
path:'/checkOrder',
push:{ 'order': order }
})
//跳转接收页面:
if( this.$route.query.order instanceof Object){
setStore("orders", this.$route.query.order);
}
this.order = JSON.parse(getStore("orders"));
(2)使用ES6中的扩展运算符分解对象中的属性
this.$router.push({
path: './data',
query: {
...item
}
});
(3)先用json的方法将对象转成字符串传递过去,在拿参数时,用json的parse方法把字符串转为对象
//当前页面:
let order = JSON.stringify(new Order(obj));
this.$router.push({
path:'/checkOrder',
push:{ 'order': order }
})
//跳转接收页面:
this.order = JSON.parse(this.$route.query.order);
更多推荐
所有评论(0)