vue-router中scrollBehavior的用法

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。

注意: 这个功能只在支持 history.pushState 的浏览器中可用。

当创建一个 Router 实例,你可以提供一个 scrollBehavior 方法:

const router = new VueRouter({
  routes: [...],  // 点击浏览器的前进后退或切换导航触发
  scrollBehavior (to, from, savedPosition) {
    // return 期望滚动到哪个的位置
  }
})
  • savePosition 记录滚动条的坐标,点击前进后退的时候记录。当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
if (savePostion) {
    return savePositon;
} else {
    return {x:0,y:0}
}

你可能感兴趣的:(vue,vue.js,前端,javascript)