VUE相关文章

vue-router scrollBehavior无效问题

2019-06-19  本文已影响0人  子心_
const router = new VueRouter({
  routes: [...],
  scrollBehavior (to, from, savedPosition) {
    // return 期望滚动到哪个的位置
    scrollBehavior (to, from, savedPosition) {
      if (savedPosition) {
           return savedPosition
      } else {
      return { x: 0, y: 0 }
   }
 }
  }
})

发现添加路由后并没有起作用,查询资料发现
作者在issues中说vue-router不再支持这个特性了。

解决办法:

// main.js中, 全局路由钩子
router.afterEach((to, from) => {
  let bodySrcollTop = document.body.scrollTop
  if (bodySrcollTop !== 0) {
    document.body.scrollTop = 0
    return
  }
  let docSrcollTop = document.documentElement.scrollTop
  if (docSrcollTop !== 0) {
    document.documentElement.scrollTop = 0
  }
})
上一篇 下一篇

猜你喜欢

热点阅读