[Vue] 路由切换后页面滚动位置不变的解决方法

vue切换路由,$router.push的时候页面到顶端的滚动距离仍会保持不变。

解决办法很简单,如下,直接监测watch路由变化,然后将body的滚动距离scrollTop赋值为0。

1

2

3

4

5

6

7

8

export default {

  watch:{

   '$route':function(to,from){

           document.body.scrollTop = 0;

     document.documentElement.scrollTop = 0;

   }

  }

 }

补充: hash模式下才会导致上述问题,history模式下vue官网有更好的处理方法。

猜你喜欢

转载自blog.csdn.net/cargelzhong/article/details/82177747