为什么VueJs路由器savedPosition为scrollBehavior返回第一个undefined和next {x:0,y:0}

时间:2017-05-16 21:36:00

标签: vuejs2 vue-router

我使用vue-router 2.5.3并有两个页面:第一个用于长列表(通过ajax加载),第二个用于详细信息。

当我向下滚动列表页面然后使用单击返回浏览器按钮进行导航时,浏览器始终滚动到顶部。 savedPosition的值是第一次undefined和下次尝试Object {x: 0, y: 0}

<div class="main-content">
  <router-view ></router-view>
</div>

scrollBehavior(to, from, savedPosition) {
    console.info(savedPosition) // first attemp undefined and next  always {x: 0, y: 0} regardless previous position

    if (savedPosition) {
      return savedPosition
    } else if (to.name == from.name) 
    {
      return
    }
    else {
      return { x: 0, y: 0 }
    }
  },
  mode: 'history',

什么是savedPosition以及它是如何被触发的?

0 个答案:

没有答案