我正在尝试更改/更新导航中单击事件的路由器查询。但无论我做什么,点击事件都不会更改 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)