国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

vue-scroller記錄滾動(dòng)位置的示例代碼

2024-05-06 15:22:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題描述:

列表頁(yè)進(jìn)入詳情頁(yè),或者tab頁(yè)切換,然后再返回列表頁(yè),希望能切換到之前滾動(dòng)位置

解決問(wèn)題思路:

切換到其他頁(yè)面前記錄位置,返回列表頁(yè)的時(shí)候返回位置。這就需要借助vue-router的beforeRouteEnter和beforeRouteLeave這兩個(gè)鉤子去實(shí)現(xiàn).

還有一種更簡(jiǎn)單粗暴的方法, vue-scroller.min.js源碼中添加寬高不為零判斷,實(shí)現(xiàn)方式見評(píng)論,是最近代碼優(yōu)化的時(shí)候發(fā)現(xiàn)的。

代碼部分:

beforeRouteEnter(to,from,next){ if(!sessionStorage.askPositon || from.path == '/'){//當(dāng)前頁(yè)面刷新不需要切換位置  sessionStorage.askPositon = '';  next(); }else{  next(vm => {    if(vm && vm.$refs.scrollerBottom){//通過(guò)vm實(shí)例訪問(wèn)this     setTimeout(function () {      vm.$refs.scrollerBottom.scrollTo(0, sessionStorage.askPositon, false);     },0)//同步轉(zhuǎn)異步操作    }  }) }},beforeRouteLeave(to,from,next){//記錄離開時(shí)的位置 sessionStorage.askPositon = this.$refs.scrollerBottom && this.$refs.scrollerBottom.getPosition() && this.$refs.scrollerBottom.getPosition().top; next()}, 

需要注意的點(diǎn):

1.熟悉vue-router和vue-scroller的api

2.beforeRouteEnter的時(shí)候,是無(wú)法通過(guò)this去訪問(wèn)vue實(shí)例的,需要借助于vm

3.setTimeout 0 的使用

等下周發(fā)版的時(shí)候,我貼上鏈接,可以體驗(yàn)下效果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯(cuò)新站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 和林格尔县| 竹北市| 东乡族自治县| 永顺县| 内江市| 商都县| 北辰区| 惠安县| 临夏县| 玉山县| 桃江县| 涪陵区| 巴青县| 富蕴县| 沙田区| 井研县| 宁乡县| 巢湖市| 抚松县| 辛集市| 吉林省| 大英县| 宣武区| 南康市| 邛崃市| 阿合奇县| 北京市| 康保县| 如东县| 柳江县| 广饶县| 肃南| 泰宁县| 湖口县| 连平县| 湖北省| 讷河市| 子洲县| 犍为县| 桂东县| 海伦市|