vue-router跳转后滚动条如何回到顶部?

vue-router跳转后滚动条如何回到顶部?

条件:不使用history模式

谢谢大佬的回答

阅读 16.6k
5 个回答

// 试试在main.js入口文件配合vue-router写这个

router.afterEach((to,from,next) => {
    window.scrollTo(0,0);
});

在创建router实例时,做如下的配置
savedPosition当且仅当通过浏览器的前进/后退按钮触发时才可用

scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
        return savedPosition
    }
    return {x: 0, y: 0}
}

赞最多的虽然说对了,不过大部分新手会看不懂。

请在router.js或者router.ts中的export default new Router中添加

scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
        return savedPosition
    }
    return {x: 0, y: 0}
}

也许你需要手动设置scrollTop = 0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题