免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

vue-scroller記錄滾動位置的示例代碼

問題描述:

成都創新互聯公司成立與2013年,先為濉溪等服務建站,濉溪等地企業,進行企業商務咨詢服務。為濉溪企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

列表頁進入詳情頁,或者tab頁切換,然后再返回列表頁,希望能切換到之前滾動位置

解決問題思路:

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

還有一種更簡單粗暴的方法, vue-scroller.min.js源碼中添加寬高不為零判斷,實現方式見評論,是最近代碼優化的時候發現的。

代碼部分:

beforeRouteEnter(to,from,next){

 if(!sessionStorage.askPositon || from.path == '/'){//當前頁面刷新不需要切換位置

  sessionStorage.askPositon = '';

  next();

 }else{

  next(vm => {

    if(vm && vm.$refs.scrollerBottom){//通過vm實例訪問this

     setTimeout(function () {

      vm.$refs.scrollerBottom.scrollTo(0, sessionStorage.askPositon, false);

     },0)//同步轉異步操作

    }

  })

 }

},

beforeRouteLeave(to,from,next){//記錄離開時的位置

 sessionStorage.askPositon = this.$refs.scrollerBottom && this.$refs.scrollerBottom.getPosition() && this.$refs.scrollerBottom.getPosition().top;

 next()

}, 

需要注意的點:

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

2.beforeRouteEnter的時候,是無法通過this去訪問vue實例的,需要借助于vm

3.setTimeout 0 的使用

等下周發版的時候,我貼上鏈接,可以體驗下效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。

網頁題目:vue-scroller記錄滾動位置的示例代碼
本文路徑:http://m.newbst.com/article40/jeeceo.html

成都網站建設公司_創新互聯,為您提供GoogleChatGPT營銷型網站建設做網站建站公司網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設