Vue- 路由传递 query 参数两种方式
路由传递 query 参数两种方式
路由是可以传递参数的,一般使用 query 进行传参,有两种方式,接下来一一展示
1 案例展示
先编写一个简单的案例
我这里用的一个三级路由
这里使用三级路由以及展示路由视图
这样点击就跳转对应的路径了,接下来进行路由跳转的时候传参即可
2 路由传参
路由可以传递两种参数形式,一种是 query 字符串形式参数,一种是对象形式参数,下面进行说明
方式 1:字符串传参(不推荐)
参数和 ajax 或 axios 发送的 query 参数几乎一致,写法基本和和 ajax 一致,都是 url?key=value&拼接参数的格式,例如:
路径上也会有所体现
传递完的参数就到 $route 的 query 里面,这里我在组件挂载的时候输出了一个 vc 实例
可以在 $route 的 query 里面找到参数
接收路由参数
想要接收使用参数,也直接从 $route 的 query 里面获取即可
但是现在参数是死的,所以需要从表达式里面传递
表达式错误传参
注意,在使用到表达式传参的场景时,切不可使用下面两种传递方式
这样就会直接当前字符串解析
也不可以直接使用:to 的方式,这样会解析成一个表达式,无法识别报错
表达式正确传参
正确的做法应该是加上``并且使用 $进行拼接传递
接收参数还是从 $route 的 query 里面获取,这样就可以完成使用 query 方式参数
但是 query 这种拼接方式有些复杂,所以有了第二种传参方式,使用对象传参
方式 2:对象传参(推荐)
对象方式进行传参,既然现在 to 是一个对象,那么有几个属性可以使用
path:想去哪里跳转
query:它是一个对象,在对象里面配置参数
这种写法清晰明了,推荐使用
3 总结
1 传递参数
2 接收参数
版权声明: 本文为 InfoQ 作者【张三丰无极】的原创文章。
原文链接:【http://xie.infoq.cn/article/2c0c6658bfe1a9756705bd944】。文章转载请联系作者。
评论