天天看點

better-scroll滾動失效(去哪網兒項目移動端)better-scroll滾動失效(去哪網兒項目移動端)

better-scroll滾動失效(去哪網兒項目移動端)

之前在效仿做去哪網兒移動端的vue項目的時候有個使用better-scroll的環節,第一次使用的時候還是可以滾動的,重新整理頁面後卻發現滾動失效了,尋找了好多方法,最終發現原因

先說解決方法:我按照視訊的講解,在生命周期函數mounted裡面使用的better-scroll指令,将mounted換成updated就可以了。

解釋:

先說一下better-scroll的工作原理(盜的網上的圖),根據圖像,父元素也就是綠色的wrpper是有固定高度的,父元素的第一個子元素,也就是黃的的content的高度随着内容的大小而撐開,隻有當content的高度大于wrpper的高度的時候,才可以實作滾動效果,不然的話假如子元素的内容就那麼點,自然不能實作滾動了。

better-scroll滾動失效(去哪網兒項目移動端)better-scroll滾動失效(去哪網兒項目移動端)

這個項目這兒使用的是vue+vuex,當vuex的資料傳過來之後,也就相當于content有了很多資料了,已經有足夠的高度了,使用better-scroll就可以實作滾動了。但是之前使用mounted的時候,意思是渲染結束,這個渲染結束應該是本頁面的資料渲染完成了,vuex的資料還沒傳過來,vuex的資料還沒被渲染,此時的content的高度不夠滿足大于父元素的高度,實作不了滾動效果,将mounted改為updated就解決了這個問題。

繼續閱讀