解决vue 路由传参 页面刷新或者后退参数丢失的问题

 

vue路由传递参数如果用params传递参数,那么页面刷新就会丢失数据,可以改用query来传递参数,这样刷新就不会丢失

this.$router.push({path: '/business/bizInspectionTaskSub', query: {flag: '2', data: JSON.stringify(r.data.data)}})


如果传递的是对象,注意要把对象转为字符串,否则刷新就会变为undefined了

接收页面:

if (this.flag === '2') {
  const data = JSON.parse(this.$route.query.data)

}

 

另外,二者还有点区别,直白的来说query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示

你可能感兴趣的:(vue)