better-scroll 在vue中的完美使用

better-scroll是適用于移動(dòng)端app的滾動(dòng)插件,它的核心是借鑒的 iscroll 的實(shí)現(xiàn),它的 API 設(shè)計(jì)基本兼容 iscroll,在 iscroll 的基礎(chǔ)上又?jǐn)U展了一些 feature 以及做了一些性能優(yōu)化。

1.html結(jié)構(gòu)

這是你的html代碼結(jié)構(gòu),父元素包裹子元素,才可在子元素上使用此插件,若包裹多個(gè)子元素,則需要分別對(duì)每個(gè)子元素使用此插件.
必須為父元素指定高度,且子元素的高度一定要大于父元素的高度,才可實(shí)現(xiàn)滾動(dòng)效果

<div class="wrapper">
  <ul class="content">
    <li>...</li>
    <li>...</li>
    ...
  </ul>

</div>

2.安裝

npm

npm install better-scroll

yarn

yarn add better-scroll

3.初始化

<script>
//導(dǎo)入包
import BScroll from 'better-scroll'
//創(chuàng)建實(shí)例
let scroll = new BScroll('.wrapper')
</script>

4.重要參數(shù)

(1)probeType

 <script>
        //默認(rèn)情況下BScroll是不可以實(shí)時(shí)的監(jiān)聽滾動(dòng)位置
        //probeType檢測(cè)
        //0,1都是不偵測(cè)實(shí)時(shí)的位置
        //2:在手指滾動(dòng)的過程中檢測(cè),手指離開后的慣性滾動(dòng)過程中不檢測(cè)
        //3:只要是滾動(dòng),都檢測(cè)
        let bscroll = new BScroll(document.getElementsByClassName('wrapper'),{
            probeType:3
        })
        bscroll.on('scroll',(position)=>{
            console.log(position)
        })
    </script>

以上代碼將會(huì)打印出滾動(dòng)的實(shí)時(shí)位置

(2)pullUpLoad

 <script>
        let bscroll = new BScroll(document.getElementsByClassName('wrapper'),{
           pullUpLoad:true
        })
        bscroll.on('pullingUp',()=>{
           //此處應(yīng)請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)
           console.log("上拉加載更多")
           setTimeout(()=>{
               bscroll.finishPullup()
           },2000)
        })
    </script>

pullUpLoad

  • 類型:Boolean | Object
  • 默認(rèn)值:false
  • 作用:這個(gè)配置用于做上拉加載功能,默認(rèn)為 false。當(dāng)設(shè)置為 true 或者是一個(gè) Object 的時(shí)候,可以開啟上拉加載,可以配置離底部距離閾值(threshold)來決定開始加載的時(shí)機(jī),見 Demo 。了解更多的細(xì)節(jié)可以去看 example 中的 scroll 組件代碼。

pullUpLoade參數(shù)一定要配合pullingUp,finishPullUp使用,
pullingUp的觸發(fā)時(shí)機(jī)是在一次上拉加載的動(dòng)作后,這個(gè)時(shí)機(jī)一般用來去后端請(qǐng)求數(shù)據(jù)。
finishPullUp則是當(dāng)上拉加載數(shù)據(jù)加載完畢后,需要調(diào)用此方法告訴 better-scroll 數(shù)據(jù)已加載,若沒有調(diào)用此方法,則上拉加載的動(dòng)作執(zhí)行完一次就不能再次執(zhí)行了

pullDownLoad同理

5.注意點(diǎn)

(1)better-scroll不能再created(){}里使用,因?yàn)榇藭r(shí)還沒有渲染頁(yè)面DOM樹,應(yīng)在mounted(){}中使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容