vue-router跳转页面后置顶问题

vue-router跳转页面后置顶问题解决方法

在router文件夹的index.js文件中, 初始化 router 时设置如下代码:

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes,
  // 添加以下代码
  scrollBehavior(to,from,savedPosition){
    if(savedPosition){
      return savedPosition;
    }else{
      return {x:0,y:0}
    }
  },
})

以上方法并不是一个完美的解决方案, 因为会有一个 bug: 点任意路由, 都会置顶.  一个组件的兄弟组件切换也会让页面置顶.

如果想要更完美的解决, 可参考另一篇博客: Vue跳转新页面后回到顶部

posted @ 2020-12-03 16:37  薛胖子  阅读(7)  评论(0编辑  收藏  举报  来源