Vue router传参--最干最全最简单易懂版

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; 

猜你喜欢

转载自blog.csdn.net/weixin_45894479/article/details/114123969