vue router params传参,路由守卫中无法获取

在Vue应用中使用router时遇到一个问题,即在路由守卫中无法获取通过`params`传递的参数。解决方案是将路径定义由`path`改为使用`name`,并改用`query`进行传参。原因是`params`参数必须配合`name`使用,而`query`参数在`name`和`path`下都可正常工作。

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

场景:

我使用router的params进行传参,在路由守卫中获取参数进行判断

现象:

守卫中无法到获取参数

解决方案:

  1. 将“path”参数替换为router中对应的“name”
  2. 不使用“params”传参,改为使用“query”传参

原因:

“params”参数需要由“name”参数引入,有且只有“name”字段时(“name”和“path”同时存在时不可以),“params”存入的值才可被获取。

“query”却可以在“name”和“path”两种情况下正常工作传值取值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值