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