vue中路由的param和query的区别

前几天面试中被面试官问到这个问题,当时支支吾吾的说不出来,后来自己实际操作了一下,才明白这两者使用上的区别。

1.使用params传参

	注意,一定要用name来引入路由跳转地址,否则跳转不过去

vue中路由的param和query的区别_第1张图片
使用params传递参数的时候,router----index.js中路由的配置一定要在后面加传递过去的参数,有几个加几个
vue中路由的param和query的区别_第2张图片
在浏览器中地址栏的样子
在这里插入图片描述
获取参数在这里插入图片描述

2.使用query跳转页面传递参数

使用query的时候,用name和path引入路由路径都是可以的
vue中路由的param和query的区别_第3张图片
这个时候的路由配置index.js中,是不能加参数的,我试了一下加参数的,跳转过去的页面空白
vue中路由的param和query的区别_第4张图片
使用query传参在url地址栏是这个样子的
在这里插入图片描述
接收参数
在这里插入图片描述
总结:
1)params跳转的时候,路由地址必须用name引入,而query时,name和path都行。
2)使用params的时候,router—index.js中的路由的配置,后面必须加上要传递过去的参数,:id/:age这种形式
而query不需要在路由配置项后面加参数
3)在浏览器url地址栏上展示的形式不同,params直接展示参数值 http://localhost:8081/#/detail/005/19
query是展示参数名和参数值http://localhost:8081/#/detail?id=005&age=19
4)获取参数的不同this.$route.params.idthis.$route.query.id 的区别

你可能感兴趣的:(router参数,路由传参,vue,url)