vue 之 vue-router如何在返回时返回到上次滚动的位置

醉酒当歌 提交于 2020-01-26 14:52:25

vue-router如何在返回时返回到上次滚动的位置

html:

  <keep-alive >
      <router-view v-if="$route.meta.keepAlive"></router-view>
  </keep-alive>
  <router-view v-if="!$route.meta.keepAlive"></router-view>

router.js:

export default new Router({
  mode: "history",
  scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition;
    } else {
      if (from.meta.keepAlive) {
        from.meta.savedPosition = document.body.scrollTop;
      }
      return {
        x: 0,
        y: to.meta.savedPosition || 0
      };
    }
  },
  routes: [{
      path: "/:nowurl/list/:lpsel.html",
      name: "newhousesel",
      beforeEnter: area,
      component: () => import("./views/newhouse"),
      meta: {
        title: "喜欢房",
        keepAlive: true
      }
    }]
})
    

需要返回触发的东西都写在activated里面

vue-router如何在返回时返回到上次滚动位置 方法集锦https://blog.csdn.net/zjl516088421/article/details/77937440

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!