vue-router 页面切换后保持在页面顶部而不是保持原先的滚动位置的办法

Posted 无情码字员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-router 页面切换后保持在页面顶部而不是保持原先的滚动位置的办法相关的知识,希望对你有一定的参考价值。

vue-router有提供一个方法scrollBehavior,它可以使切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。

这个功能只在 HTML5 history 模式下可用。

const router = new VueRouter({
  routes: [...],
  scrollBehavior (to, from, savedPosition) {
    // return 期望滚动到哪个的位置
  }
})
{ x: number, y: number }
{ selector: string }
scrollBehavior (to, from, savedPosition) {
  return { x: 0, y: 0 }
}
scrollBehavior (to, from, savedPosition) {
  if (savedPosition) {
    return savedPosition
  } else {
    return { x: 0, y: 0 }
  }
}

 

以上是关于vue-router 页面切换后保持在页面顶部而不是保持原先的滚动位置的办法的主要内容,如果未能解决你的问题,请参考以下文章