vue router切换页面的时候,卡顿:当前页面停留了一下,才切换到新页面

vue router切换页面的时候,会有卡顿:
先在当前页面停留了一下(并且滚动到顶部),然后才切换到新页面

地址栏是立即变化的,回到顶部是路由的配置项,说明路由已经生效了,初步判断是目标页面的渲染比较慢,导致画面卡顿,有人知道怎么解决么

阅读 29.8k
9 个回答

最外层采用100%布局,然后再加个滚动

overflow: scroll;
-webkit-overflow-scrolling: touch;

这样就不会在路由切换过程中滚到顶部了

可以参考vux的demo主页写法
https://github.com/airyland/v...

新手上路,请多包涵

解决了吗?我也遇到这个问题了?

新手上路,请多包涵

可以用keep-alive 要配合他的两个钩子函数activated来缓存数据 如果要重新获得数据 也要写这个函数里 替代created

新手上路,请多包涵

楼主,请问解决掉了吗?

在router-view标签那里添加或者去掉mode试试

新手上路,请多包涵

我也遇到了这个问题,然后在index.html的meta里,加了禁止缩放,就好了,不过里面的原理还不知道

我也遇到了这个问题,debug 了半天,发现是 router.beforeEach 钩子中请求了一个接口(获取 user info),卡顿就是这个接口的请求时间造成的,弄成请求一次就 ok 了

和 keep-alive 没啥关系吧

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