vue路由传参页面刷新参数丢失问题解决方案

本文介绍了在Vue中遇到页面刷新导致路由参数丢失的问题及其解决方案。通过对比路由属性配置传参和query传参的方式,重点推荐使用query传参来保持参数在刷新后依然存在。此外,还提到将参数存放在sessionStorage或localStorage也是可行的方法,鼓励开发者灵活解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法二:路由属性配置传参:

this.$router.push({

name:“/admin/${item.id}”,

})

//这个组件对应的路由配置

{

//组件路径

path: ‘/admin:id’,

//组件别名

name: ‘admin’,

//组件名

component: Admin,

}

通过路由属性配置传参我们可以用this. r o u t e . p a r a m s . i d 来 获 取 到 i d 的 值 , 注 意 t h i s . route.params.id来获取到id的值,注意this. route.params.ididthis.router.push方法里面路径带的是值,路由配置项那里带的是变量名(属性名)来实现的对应;

以上两种传参方式基本上可以理解为ajax中的post请求方式,参数都是不可见的,但是上面两种方法都有一个弊端,就是当页面刷新了是获取不到参数值的,那么有没有一种方法是页面刷新之后参数依然存在呢?

方法三:query传参

this.$router.push({

name:“/admin”,

query:{id:item.id}

})

//这个组件对应的路由配置

{

//组件路径

path: ‘/admin’,

//组件别名

name: ‘admin’,

//组件名

component: Admin,

}

第三种方式是用query来传参,这种方式是可以解决页面刷新参数消失问题的,这种方式可以理解为是ajax中的get方法,参数是直接在url后面添加的,参数是可见的,所以解决页面刷新参数消失问题建议使用方法三来解决;

其实解决页面刷新参数丢失问题的方案还有很多,比如把参数存在sessionStorange或者localStorange中都是可行的,不过我们既然用vue框架,就要用vue的方式来解决问题。这里只是想告诉大家,问题的解决方案可以多种多样,要学会用多种方式或者说多种方案来解决一个问题,不要有太多的局限性!

此内容来自[https://cloud.tencent.com/developer/article/1601372](htt 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 ps://cloud.tencent.com/developer/article/1601372),侵权立删,仅用于学习记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值