在vue项目中,如果前一个页面有滚动条的滚动,当路由跳转后发现滚动条的位置还保持在原来的位置,这个就带来了困扰。
查询了资料,发现可以在路由的导航守卫afterEach里面添加:window.scrollTo(0,0);
这种方法可以在每次路由跳转后手动使滚动条回到头部位置。
如图:
在这里插入图片描述
其实在vue官网中介绍了scrollBehavior方法,同样可以实现路由跳转之后滚动条滚到顶部。
https://router.vuejs.org/zh/guide/advanced/scroll-behavior.html#异步滚动
在这里插入图片描述
具体代码如下:
scrollBehavior (to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
return { x: 0, y: 0 }
}
}

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐