vue路由传参方式有两种,一种是params,一种是query,具体代码示例如下:
params传参:
this.$router.push({
name: `TestVueRouterTo`,
params: {
page: '1', code: '8989'
}
})
params接收参数:
created(){
const code = this.$route.params.code;
const page = this.$route.params.page;
}
query传参:
this.$router.push({
path: `/TestVueRouterTo`,
query: {
page: '1', code: '8989'
}
})
等价于:
const id = 123;
this.$router.push({path: `/TestVueRouterTo/${id}` });
query接收参数:
created(){
const code = this.$route.query.code;
const page = this.$route.query.page;
}
总结:
如果你想用params传参,那么就用name的方式,如果你想用query方式传参,就用path的方式。
那么 name和path传参有什么区别呢?简单的说就相当于post请求和get请求,name传参相当于post请求,你传递的参数看不到,刷新浏览器路由参数会消失。而path传参不会,它会把你的参数拼接到url上,有点像get请求似的。