项目中一直在找寻一种在路由传参时,不用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
方法死板,借鉴慎重!!!感谢阅读
博客作者分享了一种在Vue路由传参时,结合params和query防止数据丢失的非传统方法。当使用params传递参数,并在目标页面将params赋值给query,即使刷新页面,数据依然保留。这种方法虽然简单但可能不够优雅,作者欢迎读者提供更官方的解决方案。

7516

被折叠的 条评论
为什么被折叠?



