Veu路由跳转有三种传参方式:
在vue-router中,有两大对象被挂载到了实例this
$route(只读、具备信息的对象);
$router(具备功能的函数)
话不多说直接干货:
以下传递的所有数据都为 1
静态路由传参:
发:
1.query 传参
<router-link :to="{path:'/Other',query:{id:1}}">传参1</router-link>
2.params 传参
<router-link :to="{name:'Other',params:{
'id':1}}">传参2</router-link>
3.路由属性配置传参
<router-link :to="{path:/Other/+1}">传参3</router-link>
路由属性配置传参要在路由中需配置占位符
{
path:"/Other/:id", //id为占位符
name:"Other",
component:Other
}
动态路由传参:
发:
1.query 传参
//使用路径传递参数,xxx?name=123,该方法会在地址栏中显示参数,可反复使用
this.$router.push({path:"Other",query:{id:1}});
2.params 传参
//通过路由的name属性传参,此方式在地址栏中不显示,参数只能使用一次,在目标页面刷新时参数失效
this.$router.push({name:"Other",params:{id:1}});
3.路由属性配置传参
//页面刷新后数据不丢失,地址栏中不显示参数
this.$router.push("Other/1");//此方式传参时必须在路由中定义占位符 静态路由处写了
三种传参的区别如上
收:
1.query 收
this.$route.query.id ;
2.params收
this.$route.params.id;
3.路由属性配置 收
this.$route.params.id;