路由拼接的踩坑问题记录

在项目中,我们经常需要将参数拼接到地址栏上,以便请求接口的时候拿到所需要的入参。在vue中,我们可以使用this.$router.replace()方法将我们所需要拼接的参数替换到地址栏上。
记录的使用时遇到的问题

  • 使用方法时会加载两次界面,走两次created()挂载期,导致created()里请求的接口请求了两次,导致浏览器请求的负担加重,还会出现一些渲染上的bug。

原因

  • 在this.$router.replace()的方法中,我们不能改变里面的拼接内容,所以需要在拼接前加上原有路由,如图
 - `  this.$router.replace({
                    ...this.$route,
                    query: {
                      ...this.$route.query,
                      index: resp.data.result[0].id,
                      lookupType: resp.data.result[0].lookupType
                    }
                  })`

…this. r o u t e r 与 . . . t h i s . router与...this. router...this.router.query遍历原有的路由拼接加上地址栏,就可以解决重复加载问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值