Vue3路由跳转时如何去掉URL中的所有参数

路由模式是:createWebHashHistory

现在OAuth授权回调回来后URL中有一些参数,如:

vue.com/?code=somecode&state=ST...

无论是使用router.push还是raplace,?code=somecode&state=STATE 这段始终跟随,如何在跳转后销毁整个这段参数?code=somecode&state=STATE。

讨论数量: 8

需要删除路由的存的query相关状态信息,得看用的vue3模板是怎么设计的

2个月前 评论

自己拼一下路由,用 replace 给替换掉

2个月前 评论

学习下,当时没解决这个问题

2个月前 评论
PHPisGod (楼主) 2个月前

hash 模式下跟在 path 后面 hash 前面的 query 不受 vue-router 控制,需要手动处理链接后使用 window.location 跳转处理

可以手动去除 location.href 链接中的 query,也可以根据 currentRoute 重新构造链接:

location.replace(location.origin + router.resolve({
  name: to.name,
  params: to.params,
  query: to.query,
}).href)
2个月前 评论

@zhaojjiang 怎样好像都会多跳一次才能去掉,不然直接路由next肯定是不行

file

2个月前 评论
zhaojjiang 2个月前
PHPisGod (作者) (楼主) 1个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!