亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3怎么利用store實現記錄滾動位置

發布時間:2021-04-09 13:10:17 來源:億速云 閱讀:320 作者:小新 欄目:開發技術

小編給大家分享一下vue3怎么利用store實現記錄滾動位置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

整體效果

在首頁列表進行滾動瀏覽時進入詳情頁后,切換回首頁時可以定位到之前瀏覽的位置。

vue3怎么利用store實現記錄滾動位置

監聽容器滾動事件

定義一個滾動事件,綁定到容器的滾動事件上,我這里做了一下節流

const savePosY = () => {
      if(state.timer) return;
      state.timer = setTimeout(() => {
        let node = document.querySelector(".contentWrapper");
        //記錄滾動位置
        store.commit("setY",node.scrollTop)
        state.timer = null;
        clearTimeout(state.timer);
      },100)

在mounted中獲取到容器進行綁定事件

onMounted(() => {
    let contentWrapper = document.querySelector(".contentWrapper");
    contentWrapper.addEventListener("scroll",savePosY);
})

store中的配置

store中比較簡單,僅包含一個state:y 以及 mutations:setY

export default {
    state:{
         y:0
    },
    mutations:{
        setY(state,value){
            state.y = value;
        }
    }
}

在頁面跳回時獲取滾動位置

同樣在onMounted中操作,否則獲取不到容器元素,而且由于vue中dom是異步渲染,所以我們需要在nextTick中操作才有效果

nextTick(() => { contentWrapper.scrollTop = store.state.y; })

以上是“vue3怎么利用store實現記錄滾動位置”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文安县| 新巴尔虎左旗| 西昌市| 华容县| 许昌县| 綦江县| 高雄市| 疏勒县| 紫金县| 上高县| 屏东县| 安仁县| 许昌市| 华宁县| 铁岭市| 南丹县| 东光县| 上虞市| 仁怀市| 甘肃省| 光山县| 兴业县| 衡南县| 达州市| 武定县| 和硕县| 织金县| 丹凤县| 德阳市| 横峰县| 东台市| 黄山市| 新乐市| 甘肃省| 洛川县| 松滋市| 吴江市| 湟中县| 大埔县| 准格尔旗| 黄平县|