vue路由传参query和params的区别(详解!)

1.query使用path和name传参跳转都可以,而params只能使用name传参跳转。

query传参:  

页面带参数跳转:this.$router.push({ path:'/city',name:'City', query: { cityid: this.Cityid,cityname:this.Cityname }})

路由配置:{path:'/city',name:'City',component:City},

接收参数:this.cityid = this.$route.query.cityid;

params传参:

页面带参数跳转:this.$router.push({ name:'City', params: { cityid: this.Cityid,cityname:this.Cityname }})

路由配置:{path:'/city/:cityid/:cityname',name:'City',component:City},

接收参数:this.cityid = this.$route.params.cityid;

2.传参跳转页面时,query不需要再路由上配参数就能在新的页面获取到参数,params也可以不用配,但是params不在路由配参数的话,当用户刷新当前页面的时候,参数就会消失。

  也就是说使用params不在路由配参数跳转,只有第一次进入页面参数有效,刷新页面参数就会消失

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页