1.query方式传参和接收参数
传参:
this.$router.push({
path:'/xxx',
query:{
id:id
}
})
接收参数:
this.$route.query.id
注意:传参是
this.$router
,接收参数是this.$route
,这里千万要看清了!!!
this.$router
和this.$route
有何区别?
在控制台打印两者可以很明显的看出两者的一些区别:
1.
$router
为VueRouter
实例,想要导航到不同URL,则使用$router.push
方法
2.$route
为当前router
跳转对象,里面可以获取name、path、query、params等
2.params方式传参和接收参数
传参:
this.$router.push({
name:'xxx',
params:{
id:id
}
})
接收参数:
this.$route.params.id
注意:
params
传参,push里面只能是 name:'xxxx',不能是path:'/xxx',因为params
只能用name
来引入路由,如果这里写成了path,接收参数页面会是undefined!!!
另外,二者还有点区别,直白的来说query
相当于get
请求,页面跳转的时候,可以在地址栏看到请求参数,而params
相当于post
请求,参数不会再地址栏中显示