Vue js 路由器:如何更改或更新点击事件的 URL 查询

Des*_*yDC 5 javascript vue-router vue-component vuejs2

我正在尝试更改/更新导航中单击事件的路由器查询。但无论我做什么,点击事件都不会更改 URL 中的查询。

但是在 vue 组件内防护“beforeRouteUpdate”中,如果我 console.log(to.query.scrollto); 我会得到新参数。

也许有人有想法或更好的解决方案如何解决这个问题?

这是我的意图:

myhomepage.de/?scrollto=关于
myhomepage.de/?scrollto=联系
myhomepage.de/otherpage/?scrollto=关于
myhomepage.de/anotherpage/?scrollto=服务
...

这些是我的设置:

路由器设置:

export default new Router({
mode: 'history',
base: __dirname,
routes: [
    {
        path: '/',
        name: 'home',
        component: Page
    },
    {
        path: '*',
        component: NotFound
    }]
Run Code Online (Sandbox Code Playgroud)

})

我的导航链接:

a(href="" @click.prevent="updateNav(item.key)") {{item.title}}
Run Code Online (Sandbox Code Playgroud)

在我的方法中:

updateNav(query) {
    var data = Object.assign({}, this.$route.query);
    data['scrollto'] = query;
    this.$router.push({name: 'home', query : data });
    ...
}
Run Code Online (Sandbox Code Playgroud)