溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用vue-infinite-scroll實現(xiàn)無限滾動效果

發(fā)布時間:2020-10-08 06:45:58 來源:腳本之家 閱讀:555 作者:simoonQian 欄目:web開發(fā)

vue-infinite-scroll插件可以無限滾動實現(xiàn)加載更多,其作用是是當(dāng)滾動條滾動到距離底部的指定高度時觸發(fā)某個方法。

https://github.com/ElemeFE/vue-infinite-scroll/

https://www.npmjs.com/package/vue-infinite-scroll

npm i vue-infinite-scroll --save

main.js使用

import vueiInfinite from 'vue-infinite-scroll'
Vue.use(vueiInfinite)
<div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
   <div class="loading">加載中...</div>
</div>

1.loadMore是方法,里面是要執(zhí)行的代碼

2.busy的值是true的時候,就不再加載,如果是false就執(zhí)行加載

3.10表示距離底部為10 的時候就執(zhí)行l(wèi)oadMore方法

loadMore () {
   this.busy = true
   //把busy置位true,這次請求結(jié)束前不再執(zhí)行
   setTimeout(() => {
    this.page++
    this.getGoodLists(true)
    //調(diào)用獲取數(shù)據(jù)接口,并且傳入一個true,讓axios方法指導(dǎo)是否需要拼接數(shù)組。
   }, 500)
  }
getGoodLists (flag) {
   var param = {
    page: this.page,
    pageSize: this.pageSize,
    sort: this.sortFlag ? 1 : -1
   }
   axios.get('/goods', {params: param}).then((response) => {
    let res = response.data
    if (flag) {
     this.goodList = this.goodList.concat(res.result.list)
     //如果是flagtrue,則拼接數(shù)組。
     if (res.result.count === 0) {
      this.busy = true
     } else {
      this.busy = false
     }
    } else {
     this.goodList = res.result.list
     this.busy = false
     第一次進來的時候,把busy置位false。執(zhí)行l(wèi)oadMore的方法
    }
   })
  },

總結(jié)

以上所述是小編給大家介紹的使用vue-infinite-scroll實現(xiàn)無限滾動效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI