微信小程序?qū)崿F(xiàn)觸底加載
現(xiàn)在來看小程序還沒有使用pc端的那種分頁(yè)格式,現(xiàn)在微信小程序上分頁(yè)一般使用觸底加載來實(shí)現(xiàn)分頁(yè)的,下面就來分享一個(gè)觸底加載的實(shí)現(xiàn)方式。
1.首先要從后端也就是服務(wù)器上獲取分頁(yè)的數(shù)據(jù),如:每頁(yè)多少條數(shù)據(jù),一共分了多少頁(yè),大致內(nèi)容如下圖
既然有了數(shù)據(jù),那就要在微信端去獲取數(shù)據(jù)了
2.先不考慮分頁(yè),把獲取到的數(shù)據(jù)直接顯示到微信端
// pages/test/test.js //引入封裝請(qǐng)求路徑的模塊 const orderApi = require('../../api/order') //設(shè)置當(dāng)前頁(yè)數(shù)和總頁(yè)數(shù) var nowPage = 2; var totalPage; Page({ ? /** ? ?* 頁(yè)面的初始數(shù)據(jù) ? ?*/ ? data: { ? ? waitOrder:[] ? }, ? tapPaying: function (options) { ? ? //初始化 ? ? nowPage = 2 ? ? //查詢的方法把查詢路徑統(tǒng)一封裝在orderApi,userOrder是封裝的路徑名 ? ? //status: "wait", merchant: wx.getStorageSync('user').mId 是參數(shù) ? ? orderApi.userOrder({ status: "wait", merchant: wx.getStorageSync('user').mId }).then((res) => { ? ? ? console.log(res) ? ? ? //獲取總頁(yè)數(shù) ? ? ? totalPage = res.data.totalPages ? ? ? this.setData({ ? ? ? //把查詢到的值賦給數(shù)組 ? ? ? ? waitOrder: res.data ? ? ? }) ? ? }).catch((err) => { ? ? ? console.log(err) ? ? }) ? }, ? /** ? ?* 生命周期函數(shù)--監(jiān)聽頁(yè)面加載 ? ?*/ ? onLoad: function (options) { ? ? this.tapPaying() ? }, ? /** ? ?* 頁(yè)面上拉觸底事件的處理函數(shù) ? ?*/ ? onReachBottom: function () { ? }, })
3.wxml文件
<!--pages/test/test.wxml--> <view class="name" wx:for="{{waitOrder}}" wx:for-key="index" wx:for-item="ev"> ? ?{{ev.customerName}} ? ?{{waitOrder.length}} </view>
xcss樣式就省略
4.前端顯示如下:
5.寫觸底函數(shù)的方法
loadOtherWaitOrder() { ? ? if(nowPage <= totalPage){ ? ? ? orderApi.userOrder({? ? ? ? ? status: "wait",? ? ? ? ? merchant: wx.getStorageSync('user').mId, ? ? ? ? page:nowPage, ? ? ? }).then((res) => { ? ? ? ? //每次執(zhí)行自加1 ? ? ? ? nowPage += 1 ? ? ? ? let waitOrder = res.data.content ? ? ? ? ? ? ? ? let oldWaitOrder = this.data.waitOrder ? ? ? ? //把獲取的新數(shù)組和舊的數(shù)組合并在一起 ? ? ? ? oldWaitOrder = oldWaitOrder.concat(waitOrder) ? ? ? ? this.setData({ ? ? ? ? ? waitOrder: oldWaitOrder ? ? ? ? }) ? ? ? }).catch((err) => { ? ? ? ? console.log(err) ? ? ? }) ? ? } ?},
6.把寫的觸底函數(shù)的方法放入到onReachBottom: function () {} 頁(yè)面上拉觸底事件的處理函數(shù)中。
/** ? ?* 頁(yè)面上拉觸底事件的處理函數(shù) ? ?*/ ? onReachBottom: function () { ? ? this.loadOtherWaitOrder() ? },
7.現(xiàn)在在觸底顯示
到此微信小程序觸底加載實(shí)現(xiàn)完成。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)觸底加載與下拉刷新的示例代碼
- 微信小程序?qū)崿F(xiàn)上拉加載功能示例【加載更多數(shù)據(jù)/觸底加載/點(diǎn)擊加載更多數(shù)據(jù)】
- 微信小程序 列表的上拉加載和下拉刷新的實(shí)現(xiàn)
- 微信小程序 詳解下拉加載與上拉刷新實(shí)現(xiàn)方法
- 微信小程序下拉加載和上拉刷新兩種實(shí)現(xiàn)方法詳解
- 微信小程序 scroll-view實(shí)現(xiàn)上拉加載與下拉刷新的實(shí)例
- 微信小程序?qū)崿F(xiàn)列表下拉刷新上拉加載
- 微信小程序(六):列表上拉加載下拉刷新示例
- 詳解微信小程序開發(fā)之下拉刷新 上拉加載
- 微信小程序列表渲染功能之列表下拉刷新及上拉加載的實(shí)現(xiàn)方法分析
相關(guān)文章
微信小程序?qū)崿F(xiàn)時(shí)間進(jìn)度條功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)時(shí)間進(jìn)度條功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11JavaScript實(shí)現(xiàn)鼠標(biāo)滑過圖片變換效果的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)滑過圖片變換效果的方法,涉及javascript控制鼠標(biāo)事件及樣式變換的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04layer擴(kuò)展打開/關(guān)閉動(dòng)畫的方法
今天小編就為大家分享一篇layer擴(kuò)展打開/關(guān)閉動(dòng)畫的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09openlayers4.6.5實(shí)現(xiàn)距離量測(cè)和面積量測(cè)
這篇文章主要為大家詳細(xì)介紹了openlayers4.6.5實(shí)現(xiàn)距離量測(cè)和面積量測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09js 將多個(gè)對(duì)象合并成一個(gè)對(duì)象 assign方法的實(shí)現(xiàn)
這篇文章主要介紹了js 將多個(gè)對(duì)象合并成一個(gè)對(duì)象 assign方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09