搜尋

首頁  >  問答  >  主體

javascript - vue使用keep-alive不能保持滾動位置問題。

頂級視圖<router-view>設定<keep-alive>雖然能快取資料還有scrollTop,但使用上拉載入更多資料後,點選某個item頁面後返回,不能準確記錄上一頁的scrollTop位置,出現的偏差比較大,有時候還會出現返回頂部,有出現過同樣的問題小伙伴嗎?

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

全部回覆(1)我來回復

  • 为情所困

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

    也遇到了同樣的問題,準備用快取存每個頁面上捲軸的位置,再回到頁面時再取出來,設定位置。但是感覺這個辦法好土呀。還沒找到更好的方法,準備再研究研究。

    剛查的這個vue-router有個scrollBehavior函數可以做到,

    scrollBehavior: function (to, from, savedPosition) {

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

    },準備明天去看看

    回覆
    0
  • 取消回覆