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 页面切换后保持在页面顶部而不是保持原先的滚动位置的办法的主要内容,如果未能解决你的问题,请参考以下文章

刷新页面使页面保持在当前位置显示而不跳回顶部

react-router 4 切换路由跳转到页面顶部

解决vue-router跳转后元素内嵌滚动条自动回到顶部的问题。

每天一点点之vue框架开发 - vue中使用vue-router切换页面时自动滚动到顶部的方法

vue路由vue-router

vue-router 路由