H5中實現加載更多的邏輯及代碼執行。


H5中加載更多的邏輯總結:

1、首先,需要三個底部的提示,分別是“加載中”、“--我是有底線的--”、“暫時沒有記錄”,當然,這三句話根據不同的項目,可以自定義。具體代碼例子如下:

 <div class="nowStartLoading" v-if="nowloading">
      <mt-spinner type="fading-circle" :size="25"></mt-spinner>
      <span>加載中···</span>
    </div>
    <div class="bottomWord" v-if="noData">--我是有底線的--</div>
    <div class="bottomWord" v-if="firstNoData">暫時沒有推薦記錄~</div>

2、根據如上情況,我們需要定義如下幾個變量,來進行相應的操作。具體變量及說明如下:

ifHasMoreData: true,  //是否有更多數據
nowloading: false,  //正在加載的動畫
noData: false,   //非第一次加載沒有數據
firstNoData: false   //第一次加載就沒有數據

 3、加載具體數據的函數處

 that.nowloading = false; // 默認請求完數據,都關閉加載動畫。 當然,打開動畫是在加載更多的函數地方打開動畫。
if (res.data.length == 0 && that.page == 1) { //如果是第一頁,並且數據為空 that.ifHasMoreData = false; that.noData = false; that.firstNoData = true; } else if (res.data.length >= 0 && res.data.length < 10) { // 如果是數據大於等於0,並且加載數據小於我們請求的每頁的數據,則該push,同時我們判斷,此時數據加載完了 that.recommendList = that.recommendList.concat(res.data); that.ifHasMoreData = false; that.noData = true; that.firstNoData = false; } else if (res.data.length == 10) { // 如果是加載數據還是后台返回的加載數據條數,則我們認為還有數據 that.recommendList = that.recommendList.concat(res.data); that.ifHasMoreData = true; that.noData = false; that.firstNoData = false; }

4、加載更多頁面的函數處

loadMore() {
      console.log("執行加載更多");
      let that = this;
      if (that.ifHasMoreData) {   //如果有更多數據
        that.nowloading = true;  //打開加載動畫
        that.page = ++that.page; // 頁數加1
        that.getRecruitList();  //執行加載數據的函數。
      }
 },

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM