搜索

首页  >  问答  >  正文

javascript - vue使用keep-alive不能保持滚动位置问题。

顶级视图<router-view>设置<keep-alive>虽然能缓存数据还有scrollTop,但是使用上拉加载更多数据后,点击某个item页面后返回,不能准确记录上一页的scrollTop位置,出现的偏差比较大,有时候还会出现返回顶部,有出现过同样的问题小伙伴吗?

//自己稍微精准控制一下scrollTop,但是keep-alive还是按照缓存记录scrollTop滚动。
$("html,body").animate({scrollTop:this.scrollTopDistance},0);
PHP中文网PHP中文网2784 天前820

全部回复(1)我来回复

  • 为情所困

    为情所困2017-05-16 13:33:13

    也遇到了同样的问题,准备用缓存存每个页面上滚动条的位置,再回到页面时再取出来,设置位置。但是感觉这个办法好土呀。还没有找到更好的办法,准备再研究研究。

    刚查的这个vue-router有个scrollBehavior函数可以做到,

    scrollBehavior: function (to, from, savedPosition) {

    return savedPosition || { x: 0, y: 0 }

    },准备明天看看

    回复
    0
  • 取消回复