$router
和$route
的区别
$router
是路由操作对象,只写对象(参数的传送)
$route
是路由信息对象,只写对象(参数的接收)
Vue中params和query传递参数的写法
params:
//路由跳转
this.$router.push({
name:'test',
params:{
name:'one',
value:'1'
}
})
//router-link的写法:
<router-link :to="{ name: 'test', params: { name:'one',value:'1' } }">
//参数接收
this.name=this.$route.params.name;
this.value=this.$route.params.value;
query:
//路由跳转
this.$router.push({
path:'test',
query:{
name:'two',
value:'2'
}
})
//router-link的写法:
<router-link :to="{ path: '/test', query: { name:'two',value:'2' } }">
//参数接收
this.name=this.$route.query.name;
this.value=this.$route.query.value;
注意事项
- 传参的话params和query这两种方式都可以使用
- 如果使用params传参的话,只能使用name来引入路由
- params是路由的一部分,必须要在路由后面添加参数名(如以上例子就加上动态路由:/:name/:value),否则一刷新网页就会失去拿到的参数
内容未完待补充...