vue页面之间的传参

vue.cli是一个很好用的vue脚手架,由于其页面是由多个组件组成,传参问题也是vue项目中的非常重要的问题,以下是利用router方式传参的方法。

一、vue传参:

在vue实例内部,我们可以通过$router来访问路由实例。
1、声明式:
直接在html页面中创建链接,利用链接进行传参

<router-link :to="跳转地址(可以携带参数)">
//"router-link"在vue中是相当于a标签的存在
</router-link>

传参实例:

//向页面"name=ManProduct"页面跳转,参数是"id=data",
//其中参数data可以是静态参数,也可以是动态参数
<router-link :to="{name: 'ManProduct', params: { id: data}}">
</router-link>
//向页面"name=ManProduct"页面跳转,参数是"userId= '123",
//其中参数是静态参数
<router-link :to="{name: 'ManProduct', params: { userId: '123'}}">
</router-link>

接收参数实例:
①在body标签中接收

{{$route.params.id}}

②在js中接接收

export default {
	data(){
		return {
			//定义一个接收的参数,直接接受参数
			recData1:this.$route.params.id;
			recData2:this.$route.params.userId;
		};
	},
}

2、编程式:
在js代码中

router.push(跳转路径)
//该方法的参数可以是一个字符串路径,或者一个描述地址的对象

跳转传参实例:
①路由跳转,不带参

//直接跳转到home页面
this.$router.push('home')
//带参数

②name + params传参

//命名的路由,向user页面传参,传参是是对象形式,userId的值
this.$router.push({name:'user',params:{userId:userId.val}})
//接收params传参,参数是userId.val的数据,也可以直接在body页面中引用
this.$router.params.userId,

③path + query传参

//向路径为home的页面传参
this.$router.push({path:'/home',query:{userId:userId.val})
//接收query传参,参数是userId.val的数据,也可以直接在body页面中引用
this.$router.params.userId,

④props传参

//
let routes = [
	//只跳转,不传参,
	{
		path:'/user',
		name:'user',
		props:true,
		meta:{},
		component:()=>import('@/pages/user.vue')
	},
	//传参,路径后面加一个占位符“:homeId”,props设置为bool类型ture。 跳转页面时使用this.$router.push传参
	{
		path:'/home/:homeId',
		name:'home',
		props:ture,
		meta:{},
		component:()=>import('@/pages/home.vue')
	},
]

接收参数

//先放到props中,然后this.homeId即可拿到
export default {
  props:['homeId'],
  mounted(){
  	//输出传参的值
    console.log(this.$route.params.id, this.homeId)
  }
}

总结:

取值方法1:可以直接使用this.$route.params.id取值。
取值方法2:也可以先放到props中,就可以直接用this.id拿到了。

原文:https://router.vuejs.org/zh/guide/essentials/navigation.html

Python 面试100讲(基于Python3.x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值