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

![]()
现象:
守卫中无法到获取参数
解决方案:
- 将“path”参数替换为router中对应的“name”
- 不使用“params”传参,改为使用“query”传参
原因:
“params”参数需要由“name”参数引入,有且只有“name”字段时(“name”和“path”同时存在时不可以),“params”存入的值才可被获取。
“query”却可以在“name”和“path”两种情况下正常工作传值取值
在Vue应用中使用router时遇到一个问题,即在路由守卫中无法获取通过`params`传递的参数。解决方案是将路径定义由`path`改为使用`name`,并改用`query`进行传参。原因是`params`参数必须配合`name`使用,而`query`参数在`name`和`path`下都可正常工作。
我使用router的params进行传参,在路由守卫中获取参数进行判断

![]()
守卫中无法到获取参数
“params”参数需要由“name”参数引入,有且只有“name”字段时(“name”和“path”同时存在时不可以),“params”存入的值才可被获取。
“query”却可以在“name”和“path”两种情况下正常工作传值取值
314

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