美文网首页
[vue-router4进阶] 4.滚动行为

[vue-router4进阶] 4.滚动行为

作者: 林哥学前端 | 来源:发表于2021-11-04 10:23 被阅读0次

如果一个页面特别长,用户已经进行了页面滚动,这时候跳转到了下一个页面,页面滚动应该怎么处理?
vue-router已经给我们提供了scrollBehavior来处理这个问题。
但是这个功能只在支持 history.pushState 的浏览器中可用。
不过也没关系,现代浏览器都是支持的。
scrollBehavior是在createRouter时传入的一个方法,比如我们要在跳转页面时,页面总是滚到顶部:

const router = createRouter({
  history: createWebHashHistory(),
  routes: [...],
  scrollBehavior (to, from, savedPosition) {
   return { top: 0 } // 表示页面滚到顶部
  }
})

它还有三个参数,to是新进入的页面route,from是前一个页面的route,savedPosition表示,如果是浏览器的后退/前进按钮触发的页面切换,这个值是之前这个页面滚动到的位置。
比如,要返回一个页面时,还滚动到这个页面原来的滚动的位置,像浏览器原生的表现那样:

const router = createRouter({
  scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition
    } else {
      return { top: 0 }
    }
  },
})

scrollBehavior还有一些其他配置,我就不多介绍了,大家看官网的说明就行了。

相关文章

  • [vue-router4进阶] 4.滚动行为

    如果一个页面特别长,用户已经进行了页面滚动,这时候跳转到了下一个页面,页面滚动应该怎么处理?vue-router已...

  • Js实现鼠标滚轮滑动监听

    监听鼠标滚动行为 禁止、启用鼠标滚动行为

  • 几种无限不间断滚动效果

    1.向上滚动 2.向下滚动 3.向左滚动 4.向右滚动

  • 滚动行为

  • 滚动行为

    滚动行为 应用场景 : 在一个路由组件中滚动页面,切换到另一个组件中时,滚动条自动恢复到页面顶端的位置 下面的代...

  • Flutter tips

    flutter禁用滚动事件Flutter进阶:深入探究 ListView 和 ScrollPhysicsFlutt...

  • vue 不默认滚动条位置

    scrollBehavior: () => ({ // 滚动条滚动的行为,不加这个默认就会记忆原来滚动条的位置 ...

  • vue全家桶(2.6)

    3.9.滚动行为 设置滚动行为的作用是导航到新路由时,让页面滚动到你想要的位置。 注意: 这个功能只在支持 his...

  • vue滚动行为

    scrollBehavior(只在支持history.pushState的浏览器可用) 使用场景:点击浏览器自带的...

  • 你应该知道的兼容写法

    1.滚动条 2.获取样式兼容 3.事件对象兼容 4.阻止事件冒泡兼容 5.阻止默认行为兼容 6.事件监听兼容

网友评论

      本文标题:[vue-router4进阶] 4.滚动行为

      本文链接:https://www.haomeiwen.com/subject/bqhczltx.html