当在URL中推送查询参数时,如果仍在同一路径上,Vue.js中出现“NavigationDuplicated”异常,是否有解决方法

xt0899hw  于 2022-11-25  发布在  Vue.js
关注(0)|答案(2)|浏览(92)

当前URL为

/search

新URL应为

/search?foo=bar

我只想更新我的查询参数,因为在页面上应用了一些过滤器,所以查询参数位于同一个路由上
我的代码:

this.$router.push({query: params})

有一种方法可以使用catch块处理“NavigationDuplicated”错误,但这只是抑制错误,路由中的查询参数仍然没有更新。
相关问题:
How to use router.push for same path, different query parameter in Vue.js
但这给出了路径“/”,但我需要保持在同一页上

mwkjh3gx

mwkjh3gx1#

您可以添加catch来解决此错误:

this.$router.push({query:params}).catch(() => {})
vc6uscn9

vc6uscn92#

你可以使用history.pushState(),它会修改URL而不推送路由器。
https://stackoverflow.com/a/71042001/19222560

相关问题