当你切换路由时想要重制滚动条的位置,vueRouter提供了一个scrollBehavior方法。
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
}
有三个参数,to,from路由信息,savedPosition返回点击浏览器前进,后退时的位置信息{y,x}
对于所有路由,你可以简单的让他们都回到顶部
scrollBehavior (to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
return { x: 0, y: 0 }
}
}
你也可以通过锚点滚到到任意位置,需要注意的是设置锚点,需要将id和hash值相对应,设置完成后在to中就能拿到hash