如何在不重新加载组件的情况下更改vue中的查询参数

Sun*_*nny 3 javascript vue.js vue-router vuejs3

如何使用 Vue-Router 更改查询参数而不重新加载 Vue 中的组件。但是推送新查询总是重新加载组件,使我的 api 请求重新运行

this.router.replace({query: {name: 'John'} })

kis*_*ssu 7

这个在 Nuxt 中运行得很好,所以我想它在 Vue(甚至 3)中也完全没问题。

<button @click="$router.replace({ path: $route.path, query: { plan: 'private' } })">test</button>
Run Code Online (Sandbox Code Playgroud)

它将推送您当前所在的相同路径,但会更改其中的查询参数。

取自官方文档:https ://router.vuejs.org/guide/essentials/navigation.html

  • 你能更具体地说一下你改变了什么吗?我尝试显式分配当前路径(“path: $route.path”部分),但它仍然重新加载组件。 (3认同)