Vue.js 在 setTimeout 之后滚动到新页面路由的顶部

新手上路,请多包涵

当滚动到新路线的顶部是即时的时,我的页面转换效果不佳。我想在它自动滚动到顶部之前等待 100 毫秒。以下代码根本不会滚动。有没有办法做到这一点?

 export default new Router({
    mode: 'history',
    routes: [
        {
            path: '/',
            name: 'Home',
            component: Home
        }
    ],
    scrollBehavior (to, from, savedPosition) {
        setTimeout(() => {
            return { x: 0, y: 0 }
        }, 100);
    }
})

原文由 frosty 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 249
1 个回答

Vue 现在原生支持此功能,请使用 scrollBehaviour ,如下所示:

 export default new Router({
  scrollBehavior() {
    return { x: 0, y: 0 };
  },
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    }
  ],
  mode: 'history'
});

更多在这里

原文由 Edgar Quintero 发布,翻译遵循 CC BY-SA 4.0 许可协议

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