项目中一直在找寻一种在路由传参时,不用query,刷新时数据也不会丢失的办法,今天在测试时,意外发现这种笨笨的办法,也能够达到这一效果,如果读者有更官方更可行的实现方法,望告知~,致谢!
理解原理前请先了解路由query和params传参的区别。
我们都知道路由使用query传递参数效果与get类似,会将参数拼接在地址栏上,如:
/task/info?id=23&type=add ,每次刷新后query的数据都不会消失,而params方式穿的的参数不会再地址栏显示但是刷新后数据会变成undefined
利用二者的特点,在路由跳转时利用params传参
this.$router.push({
name: name,
params: { data: 'test' },
})
页面接收时:将传递的参数赋值给query
this.$route.query = this.$route.params
方法死板,借鉴慎重!!!感谢阅读