首先说下$router
和$route
的区别
$router
路由的操作对象(只写对象),$route
路由的信息对象(只读对象)
//操作 路由跳转
this.$router.push({
name:'hello',
params:{
name:'word',
age:'11'
}
})
//读取 路由参数接收
this.name = this.$route.params.name;
this.age = this.$route.params.age;
- 首选params传参 要搭配name来使用,对象形式传入参数,通过$route.params.(传的参数)获取,相当于post请求不会泄露数据,安全性更高,url上以 /参数/参数展示 不会泄露原始的对象名,params是路由的一部分,必须在路由后面添加参数名
- query传参,搭配path来使用,通过$route.query.(传的参数)获取,相当于get请求,url会显示键值对。泄露数据,query是拼接在url后面的参数,没有也没关系。