路由传参的几种方式,强制刷新参数是否丢失

1、在路由文件配置参数,强制刷新参数绝对不会丢失

//路由文件
{
path:'/child/:id/:key',
name:'child',
component:Child
}

//跳转传参 id=2 key=33
this.$router.push({path:`/child/${id}/${key}`})
this.router.push({name:'child',params:{id:id,key:key}})

//params接收参数
this.$route.params

//地址栏显示参数
localhost:8080/#/child/2/33

2、路由文件不配置参数

//路由文件
{
path:'/child',
name:'child',
component:Child
}

2.1、通过params传参,刷新页面参数会丢失

//跳转传参 只能name跳转 id=2 key=33
this.router.push({name:'child',params:{id:id,key:key}})

//params接收参数
this.$route.params

//地址栏不显示参数
localhost:8080/#/child

2.2、通过query传参,刷新页面绝大多数情况参数不会丢失,某些情况会丢失



//跳转传参 只能path跳转 id=2 key=33
this.$router.push({path:"/child",query:{id:id,key:key})


//params接收参数
this.$route.query

//地址栏显示参数
localhost:8080/#/child?id=2&&key=33

 此方式参数丢失的两种情况:

1、从 A页面  跳转到  B页面需要携带以下 A页面的参数时,在 B页面 刷新时,就会导致参数消失,解决办法:可以在A页面中点击跳转的时候,在本地存储一下需要携带的参数

 2、如果B页面是A页面的子路由,A页面用了v-if,用query传参数刷新也会丢失参数,要用参数配置在路由上的方式

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值