当前位置: 首页 > 编程笔记 >

vue2.0路由切换后页面滚动位置不变BUG的解决方法

吴高峰
2023-03-14
本文向大家介绍vue2.0路由切换后页面滚动位置不变BUG的解决方法,包括了vue2.0路由切换后页面滚动位置不变BUG的解决方法的使用技巧和注意事项,需要的朋友参考一下

最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变。

<a href="javascript:;" rel="external nofollow" class="btn btn01" @click="useRightNow">立即试用</a>
<router-link class="db" to="/user">个人中心</router-link>
useRightNow(){
 if(判断用户存在){
  this.$router.push('/user')
 }else{
  this.$router.push("/login")
 }
}

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

export default {
  watch:{
   '$route':function(to,from){
           document.body.scrollTop = 0;
     document.documentElement.scrollTop = 0; 
   }
  }
 }

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

以上这篇vue2.0路由切换后页面滚动位置不变BUG的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍vue2.0 路由不显示router-view的解决方法,包括了vue2.0 路由不显示router-view的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天学习vue2.0 的 router-view , 爆出的错误不计其数,不知道哪位大神写的router-view,配置的参数竟然不是router,而是routes =_=|| 这是花了一上午整出来的main.js,还有网上

  • 本文向大家介绍切换到新路由时,页面要滚动到顶部或保持原先的滚动位置怎么做呢?相关面试题,主要包含被问及切换到新路由时,页面要滚动到顶部或保持原先的滚动位置怎么做呢?时的应答技巧和注意事项,需要的朋友参考一下 滚动到顶部:在new Router()的时候,配置 scrollBehavior(to, from, savedPosition) { return { x: 0, y: 0 } }

  • 本文向大家介绍js实现页面刷新滚动条位置不变,包括了js实现页面刷新滚动条位置不变的使用技巧和注意事项,需要的朋友参考一下 今天因为这个问题困扰了很久网上的例子都尝试没效果,后来发现一点原来是内容最外层没有div的原因 以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍详解使用vue-router进行页面切换时滚动条位置与滚动监听事件,包括了详解使用vue-router进行页面切换时滚动条位置与滚动监听事件的使用技巧和注意事项,需要的朋友参考一下 按照正常的产品逻辑,我们在进行页面切换时滚动条应该是在页面顶部的,可是。。。在使用vue-router进行页面切换时,发现滚动条所处的位置被自动记录了下来,且在另一个组件内定义的滚动监听事件仍会运行,着实

  • 本文向大家介绍详解vue-router 动态路由下子页面多页共活的解决方案,包括了详解vue-router 动态路由下子页面多页共活的解决方案的使用技巧和注意事项,需要的朋友参考一下 我们都知道 vue-router 的动态路由匹配 对组件是原地复用的策略,需要我们在组件中根据不同的 $route 参数展示不同的数据,这在大部分情景下是很高效的做法,但这无疑增加了组件的复杂度,而且不同参数间切换因

  • 本文向大家介绍在IOS系统上滚动条滚动到指定的位置出现空白页面的解决方案,包括了在IOS系统上滚动条滚动到指定的位置出现空白页面的解决方案的使用技巧和注意事项,需要的朋友参考一下 原因: -webkit-overflow-scrolling:touch 解释: 由于使用-webkit-overflow-scrolling这个属性,苹果手机会使用硬件加速,从而促使页面滑动得更加流畅,然而也导致了页面