问题

在使用vue-router做导航路由时,发现每个页面打开都在原来的位置不能返回到页面顶部位置,然后查看API文档,滚动行为如下:


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

添加路由中后发现没有实际效果。。。

解决方案:检查您使用的路由版本,在vue-router4+版本scrollBehavior为了使其返回更像JS API,将其返回的对象调整与ScrollToOptions类似:x改名为left,y改名为top

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐