一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - vue.js - vue3利用store實(shí)現(xiàn)記錄滾動(dòng)位置的示例

vue3利用store實(shí)現(xiàn)記錄滾動(dòng)位置的示例

2022-02-27 16:59hq4952 vue.js

這篇文章主要介紹了vue3利用store實(shí)現(xiàn)記錄滾動(dòng)位置的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下

整體效果

在首頁(yè)列表進(jìn)行滾動(dòng)瀏覽時(shí)進(jìn)入詳情頁(yè)后,切換回首頁(yè)時(shí)可以定位到之前瀏覽的位置。

vue3利用store實(shí)現(xiàn)記錄滾動(dòng)位置的示例

監(jiān)聽(tīng)容器滾動(dòng)事件

定義一個(gè)滾動(dòng)事件,綁定到容器的滾動(dòng)事件上,我這里做了一下節(jié)流

?
1
2
3
4
5
6
7
8
9
const savePosY = () => {
      if(state.timer) return;
      state.timer = setTimeout(() => {
        let node = document.querySelector(".contentWrapper");
        //記錄滾動(dòng)位置
        store.commit("setY",node.scrollTop)
        state.timer = null;
        clearTimeout(state.timer);
      },100)

在mounted中獲取到容器進(jìn)行綁定事件

?
1
2
3
4
onMounted(() => {
    let contentWrapper = document.querySelector(".contentWrapper");
    contentWrapper.addEventListener("scroll",savePosY);
})

store中的配置

store中比較簡(jiǎn)單,僅包含一個(gè)state:y 以及 mutations:setY

?
1
2
3
4
5
6
7
8
9
10
export default {
    state:{
         y:0
    },
    mutations:{
        setY(state,value){
            state.y = value;
        }
    }
}

在頁(yè)面跳回時(shí)獲取滾動(dòng)位置

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

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

最后

以上就是本文的全部?jī)?nèi)容啦,如果有寫(xiě)的不對(duì)或者有更好的方法,歡迎大家交流指出

以上就是vue3利用store實(shí)現(xiàn)記錄滾動(dòng)位置的示例的詳細(xì)內(nèi)容,更多關(guān)于vue 實(shí)現(xiàn)記錄滾動(dòng)位置的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://juejin.cn/post/6948304430085177351

延伸 · 閱讀

精彩推薦
  • vue.js用vite搭建vue3應(yīng)用的實(shí)現(xiàn)方法

    用vite搭建vue3應(yīng)用的實(shí)現(xiàn)方法

    這篇文章主要介紹了用vite搭建vue3應(yīng)用的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue中引入svg圖標(biāo)的兩種方式

    Vue中引入svg圖標(biāo)的兩種方式

    這篇文章主要給大家介紹了關(guān)于Vue中引入svg圖標(biāo)的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的...

    十里不故夢(mèng)10222021-12-31
  • vue.jsVue2.x 項(xiàng)目性能優(yōu)化之代碼優(yōu)化的實(shí)現(xiàn)

    Vue2.x 項(xiàng)目性能優(yōu)化之代碼優(yōu)化的實(shí)現(xiàn)

    這篇文章主要介紹了Vue2.x 項(xiàng)目性能優(yōu)化之代碼優(yōu)化的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋...

    優(yōu)小U9632022-02-21
  • vue.jsVue項(xiàng)目中實(shí)現(xiàn)帶參跳轉(zhuǎn)功能

    Vue項(xiàng)目中實(shí)現(xiàn)帶參跳轉(zhuǎn)功能

    最近做了一個(gè)手機(jī)端系統(tǒng),其中遇到了父頁(yè)面需要攜帶參數(shù)跳轉(zhuǎn)至子頁(yè)面的問(wèn)題,現(xiàn)已解決,下面分享一下實(shí)現(xiàn)過(guò)程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個(gè)是vue的基本組件,有需要的同學(xué)可以研究下...

    yukiwu6752022-01-25
  • vue.jsVue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過(guò)很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學(xué)的同學(xué),可能js的基礎(chǔ)也不是太牢固,聽(tīng)起來(lái)更是吃力,那我就已個(gè)人之淺見(jiàn),以大白話...

    CRMEB技術(shù)團(tuán)隊(duì)7992021-12-22
主站蜘蛛池模板: 女人叉开腿让男人捅 | xxx老妇人60 xxxx意大利xxxxhd | 99热r| 午夜精品久久久久久久99 | 经典千人斩一区二区视频 | 法国女佣系列在线播放 | 免费特黄一区二区三区视频一 | 秋霞黄色大片 | 成人午夜在线视频 | 无码精品一区二区三区免费视频 | 91男人 | 好大好爽好舒服视频 | 国产精品一在线观看 | 亚洲成人三级 | 大伊香蕉在线精品不卡视频 | 美女bbxx美女bbb | 满溢游泳池免费土豪全集下拉版 | 国产精品猎奇系列在线观看 | 精品淑女少妇AV久久免费 | 好大好爽好硬我要喷水了 | 国产欧美综合精品一区二区 | 白丝尤物的下面被疯狂蹂躏 | 国产高清路线一路线二2022 | 欧美另类bbbxxxxx另类 | 免费视频一级片 | 亚洲女同在线观看 | 欧美性色老妇人 | 国产一区日韩二区欧美三区 | juliaann大战两个黑人 | 国产日韩欧美 | 国产a一级| 韩日一区二区三区 | ysl千人千色t9t9t9 | 99久久久久国产精品免费 | 女教师的一级毛片 | 久草草在线视视频 | 18young第一次 | 1986葫芦兄弟全集免费观看第十集 | 免费观看www视频 | 任你操视频在线观看 | 韩国帅男同gay网站 韩国三级在线播放 |