VUE路由传参的三种基本方式

vue中路由传参的三种基本方式

在vue项目中我们在路由中需要接触到最多的就是路由之间的传值,在这里主要介绍了vue自带的路由传参的3种基本方式。

场景一:单击当前页的按钮跳转到另一个页面,并将数据传到另一个页面。

<div class="btn" @click="jump(1)">跳转携值</div>

方法1:页面刷新数据不会丢失

methods:{
	jump(id){
		this.$router.push({
			path:"/article/"+id
		})
	}
}

路由配置如下:

{
	path: '/article/:id', // /:id 对应携带的参数,子组件即可获取传递的参数值。获取方式:this.$route.params.id
	name: 'article',
	component: () => import('...')
}

方法2:页面刷新数据会丢失

methods:{
	jump(id){
		// 通过路由属性中的name来确定匹配的路由,使用params传递参数
		this.$router.push({
			name: 'article',
			params:{
				id
			}
		})
	}
}

路由配置如下:

{
	path:'/article',
	name: 'article',
	component: ()=>import('...')
}
// 子组件获取参数 this.$route.params.id

方法3:使用path来匹配路由,通过query来传递参数。这种情况下query传递的参数会显示在地址栏中url?id=‘传值’。

methods:{
	jump(id){
		this.$router.push({
			path: '/article',
			query:{
				id
			}
		})
	}
}

对应路由配置如下:

{
	path:'/article',
	name: 'article',
	component:()=>import('...')
}
// 子组件获取参数 this.$route.query.id

特别注意

route与router的区别。route表示路由属性;router表示路由实例。

以上3种是路由传参的基本方式。除了以上几种还可以使用sessionStorage/localStorage/cookie进行存储也可以进行存储也可以,使用VUEX也行,具体因场景而异。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐水莲心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值