项目场景:
基于Vue开发移动端页面,页面可滚动,从A页面条跳转到B页面,B页面滚动能从0开始
问题描述:
页面A沿Y轴滚动一段距离,然后跳转到页面B,在进入B页面时,B页面已经滚到页面A的距离,返回页面A,发现A还在之前的滚动位置;
原因分析:
可能是Vue页面有keep-alive缓存功能
解决方案:
在路由守卫回调中,设置每次进入路由时,将window的scroll值设置为0;window.scroll(0, 0);
router.beforeEach((to, from, next) => {
window.scroll(0, 0);
next()
})