query语法:

this.$router.push({path:“地址”,query:{id:“123”}}); 这是传递参数

this.$route.query.id; 这是接受参数

params语法:

this.$router.push({name:“地址”,params:{id:“123”}}); 这是传递参数

this.$route.params.id; 这是接受参数

区别:
1.首先就是写法得不同,query 得写法是 用 path 来编写传参地址,而 params 得写法是用 name 来编写传参地址,你可以看一下编写路由时候得相关属性,你也可以输出一下 路由对象信息 看一下

2.接收方法不同, 一个用 query 来接收, 一个用 params 接收 ,总结就是谁发得 谁去接收

3.query 在刷新页面得时候参数不会消失,而 params 刷新页面得时候会参数消失,可以考虑本地存储解决

4.query 传得参数都是显示在url 地址栏当中,而 params 传参不会显示在地址栏

这里说一下 route 是路由对象信息 而 router 是路由对象的 实例,区分一下

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐