location.search转为Vue Router的$route.query

location.search转为Vue的$route.query

在重构的项目中,其他项目跳转到当前项目并不是通过location.hash来添加对应的参数的,而是通过加载到location.search里面来传递参数的,那我们就不能通过 Vue Router的 this.$route.query来获取参数了,我们可以直接取用location.search的值,或者把 location.search 转为 query 数据

转化 location.search

在main.js中
// 一定要先注册 router 才行
app.use(store).use(router)

if (location.search) {
    const obj = {}
    location.search.split('?')[1].split('&').forEach(item => {
        const key = item.split('=')[0]
        const value = decodeURIComponent(item.split('=')[1])
        obj[key] = value 
    })
    app.config.globalProperties.$router.push({
        query: obj
    })
}

一定要先注册 router 才行,这样的话才有$router

使用

此时在.vue文件中就可以使用 this.$route.query 来获取 query数据了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gqkmiss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值