vue使用better-scroll實現(xiàn)下拉刷新、上拉加載
本文目的是為了實現(xiàn)列表的下拉刷新、上拉加載,所以選擇了better-scroll這個庫。
用好這個庫,需要理解下面說明
- 必須包含兩個大的div,外層和內(nèi)層div
- 外層div設(shè)置可視的大小(寬或者高)-有限制寬或高
- 內(nèi)層div,包裹整個可以滾動的部分
- 內(nèi)層div高度一定大于外層div的寬或高,才能滾動
1、先開始寫一個簡單demo,最基本的代碼架構(gòu)
template
<div ref="wrapper" class="wrapper"> <ul class="content"> <li>...</li> <li>...</li> </ul> </div>
css
/*對外層div進行了高度上的限制*/ .wrapper { display: fixed; left: 0; top: 0; bottom: 0; width: 100%; height:300px; overflow:hidden; } .content { width:100%; height:800px; background:blue; }
script
import BScroll from 'better-scroll' this.scroll = new BScroll(new BScroll(this.$refs.wrapper))
2、進行改造升級,加上上拉刷新、下拉加載的代碼。
mounted () { this.scroll = new BScroll(this.$refs.wrapper, { // 上拉加載 pullUpLoad: { // 當(dāng)上拉距離超過30px時觸發(fā) pullingUp 事件 threshold: -30 }, // 下拉刷新 pullDownRefresh: { // 下拉距離超過30px觸發(fā)pullingDown事件 threshold: 30, // 回彈停留在距離頂部20px的位置 stop: 20 } }) this.scroll.on('pullingUp', () => { console.log('處理上拉加載操作') setTimeout(() => { // 事情做完,需要調(diào)用此方法告訴 better-scroll 數(shù)據(jù)已加載,否則上拉事件只會執(zhí)行一次 this.scroll.finishPullUp() }, 2000) }) this.scroll.on('pullingDown', () => { console.log('處理下拉刷新操作') setTimeout(() => { console.log('asfsaf') // 事情做完,需要調(diào)用此方法告訴 better-scroll 數(shù)據(jù)已加載,否則下拉事件只會執(zhí)行一次 this.scroll.finishPullDown() }, 2000) }) }
原理已經(jīng)講清楚了,上面的代碼是一個功能示例,碼友結(jié)合自己項目擴展就行啦。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決this.$refs.form.validate()不執(zhí)行的問題
這篇文章主要介紹了如何解決this.$refs.form.validate()不執(zhí)行的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09前端配合后端實現(xiàn)Vue路由權(quán)限的方法實例
一開始我還以為vue的路由只能用在工程化的項目里面,其實不然,下面這篇文章主要給大家介紹了關(guān)于前端配合后端實現(xiàn)Vue路由權(quán)限的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05vue 中使用 watch 出現(xiàn)了如下的報錯的原因分析
這篇文章主要介紹了vue 中使用 watch 出現(xiàn)了如下的報錯信息的原因分析及解決方法,本文附有代碼解決方案,非常不錯,需要的朋友可以參考下2019-05-05詳解如何使用router-link對象方式傳遞參數(shù)?
這篇文章主要介紹了如何使用router-link對象方式傳遞參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05在Vue中使用scoped屬性實現(xiàn)樣式隔離的原因解析
scoped是Vue的一個特殊屬性,可以應(yīng)用于<style>標簽中的樣式,這篇文章給大家介紹在Vue中,使用scoped屬性為什么可以實現(xiàn)樣式隔離,感興趣的朋友一起看看吧2023-12-12