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

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

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数据了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37039.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注