vue关于路由参数的传递和接收的方式

vue关于路由参数的传递和接收的方式

路由传参的三种方式

动态路由传参

这个是需要在route.js文件中设置动态路由

//vue页面js
window.location.href = this.baseUrl + 'hestar-pros/allocr/' + userType + '?pro=' + this.product.platCode;

这个userType就是动态路由的参数,需要在route.js中设置

//route.js页面
path: '/allocr/:userType',
    name: 'allocr',
    component: allocr,

然后再跳转页面中获取这个动态参数

//vue接收页面
let userType = this.$route.params.userType;
通过params传参
//vue跳转页面
this.$router.push({name: allocr,params: {
	id: 123;
	name: zs
}})
//vue接收页面
let id= this.$route.params.id;
let name= this.$route.params.name;

params传参方式需要用name来定位传递页面,可以通过route.js里面对应的name获得,这种传参方式对浏览器上的链接上看是不可以看到参数的,类似ajax中的post传参,这个传参方式的缺点就是如果原地刷新页面参数会丢失.

通过query传参
//vue跳转页面
this.$router.push({path: allocr,query: {
	id: 123;
	name: zs
}})
//或者使用更简洁的方式
this.$router.push('http://localhost:8080/hestar-pros/info?id=123&name=zs')
//vue接收页面
let id= this.$route.query.id;
let name= this.$route.query.name;

使用第一种方式是可以直白明了的将参数以键值对的方式传递,第二种方式是取链接中"?"后面的参数,且这种传参方式是可以通过浏览器的地址中看到对应的传参的,这个类似ajax中的get传参方式,如果不想被看清传参,加密也是一种方式

需要注意的是如果通过params传参需要通过name字段,需要用query传参的话 就是需要用path字段,跳转链接用的是$rouer对象(这个是全局的路由对象),接收的是用$route对象(这个是当前页面的路由对象)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值