欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue分頁組件實例代碼

 更新時間:2021年09月26日 11:17:04   投稿:lijiao  
這篇文章主要為大家詳細介紹了Vue分頁組件的實例代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Vue分頁組件的具體代碼,供大家參考,具體內容如下

當前組件依賴bootstrap樣式,使用前請先引用相關css。

Vue.component('pagination', {
  template: `<nav aria-label="Page navigation">
    <ul class="pagination">
      <li :class="{'disabled': pageNum == 1}"><a href="#" v-on:click.prevent="turnToPage(1)" title="首頁" aria-label="首頁"><i class="fa fa-fast-backward"></i></a></li>
      <li :class="{'disabled': pageNum == 1}"><a href="#" v-on:click.prevent="turnToPage(pageNum - 1)" title="上一頁" aria-label="上一頁"><i class="fa fa-backward"></i></a></li>
      <li v-if="pageNum > 4"><a href="#" v-on:click.prevent="turnToPage(pageNum - 4)">...</a></li>
      <li v-if="pageNum <= 4 && pageNum >1"><a href="#" v-on:click.prevent="turnToPage(1)">1</a></li>
      <li v-if="pageNum - 3 > 1"><a href="#" v-on:click.prevent="turnToPage(pageNum - 3)">{{pageNum-3}}</a></li>
      <li v-if="pageNum - 2 > 1"><a href="#" v-on:click.prevent="turnToPage(pageNum - 2)">{{pageNum-2}}</a></li>
      <li v-if="pageNum - 1 > 1"><a href="#" v-on:click.prevent="turnToPage(pageNum - 1)">{{pageNum-1}}</a></li>
      <li class="active"><a href="#" v-on:click.prevent="turnToPage(pageNum)">{{pageNum}}</a></li>
      <li v-if="pageNum + 1 < pageTotal"><a href="#" v-on:click.prevent="turnToPage(pageNum + 1)">{{pageNum+1}}</a></li>
      <li v-if="pageNum + 2 < pageTotal"><a href="#" v-on:click.prevent="turnToPage(pageNum + 2)">{{pageNum+2}}</a></li>
      <li v-if="pageNum + 3 < pageTotal"><a href="#" v-on:click.prevent="turnToPage(pageNum + 3)">{{pageNum+3}}</a></li>
      <li v-if="pageNum >= pageTotal - 4 && pageNum < pageTotal"><a href="#" v-on:click.prevent="turnToPage(pageTotal)">{{pageTotal}}</a></li>
      <li v-if="pageNum < pageTotal - 4"><a href="#" v-on:click.prevent="turnToPage(pageNum + 4)">...</a></li>
      <li :class="{'disabled': pageNum == pageTotal}"><a href="#" v-on:click.prevent="turnToPage(pageNum + 1)" title="下一頁" aria-label="下一頁"><i class="fa fa-forward"></i></a></li>
      <li :class="{'disabled': pageNum == pageTotal}"><a href="#" v-on:click.prevent="turnToPage(pageTotal)" title="尾頁" aria-label="尾頁"><i class="fa fa-fast-forward"></i></a></li>
    </ul>
  </nav>`,
  props: {
    pageNum: Number,
    pageSize: Number,
    totalItemCount: Number,
  },
  computed: {
    pageTotal: function () {
      return Math.ceil(this.totalItemCount / this.pageSize)
    }
  },
  methods: {
    turnToPage: function (num) {
      if (num > this.pageTotal || num <= 0) {
        //toastr.error(`當前頁碼超出了范圍。頁碼:${num}`, '錯誤')
        return false
      }
      this.$emit('change', num)
    }
  }
})

props定義三個屬性:當前頁碼,當前頁顯示數(shù)量,總數(shù)量

computed定義了一個計算方法:獲取總數(shù)量/當前頁顯示數(shù)量,向上取整,默認取10個

methods定義了一個根據(jù)頁碼跳轉方法:最終用于觸發(fā)change事件,$emit用于拋出自定義事件,組件外可以捕獲當前定義的change事件

html組件顯示:

復制代碼 代碼如下:
<pagination :page-num="criteria.page.num" :page-size="criteria.page.size" :total-item-count="itemsCount" v-on:change="skiptoPage"></pagination>

以上的值為自己傳入的值

let vm = new Vue({
  el: '#app',
  data: {
    criteria: {
      keyword: '',
      page: { num: 1, size: 10 }
    },
    itemsCount: 0
  },
  methods: {  
    skiptoPage: function (num) {  
        this.criteria.page.num = num;
    }
  }
}); 

以上方法是自定義事件change的方法,你們可以自己去修改內容。

效果圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue實現(xiàn)簡單的發(fā)表評論功能

    Vue實現(xiàn)簡單的發(fā)表評論功能

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)簡單的發(fā)表評論功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Vue基于iview table展示圖片實現(xiàn)點擊放大

    Vue基于iview table展示圖片實現(xiàn)點擊放大

    這篇文章主要介紹了Vue基于iview table展示圖片實現(xiàn)點擊放大,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • vue3實現(xiàn)父組件提交校驗多個子組件

    vue3實現(xiàn)父組件提交校驗多個子組件

    這篇文章主要為大家詳細介紹了vue3如何實現(xiàn)父組件在提交事件中校驗多個子組件中的form件,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2023-11-11
  • vue路由懶加載工作原理

    vue路由懶加載工作原理

    Vue路由懶加載是一種優(yōu)化技術,旨在減少應用程序的初始加載時間并提高性能,這篇文章給大家介紹vue路由懶加載的相關知識,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • vue組件style中scoped的作用及說明

    vue組件style中scoped的作用及說明

    這篇文章主要介紹了vue組件style中scoped的作用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • VUE 無限層級樹形數(shù)據(jù)結構顯示的實現(xiàn)

    VUE 無限層級樹形數(shù)據(jù)結構顯示的實現(xiàn)

    在做項目中,會遇到一些樹形的數(shù)據(jù)結構,常用在左側菜單導航,本文就介紹一下如何實現(xiàn),感興趣的可以了解一下
    2021-07-07
  • laravel5.4+vue+element簡單搭建的示例代碼

    laravel5.4+vue+element簡單搭建的示例代碼

    本篇文章主要介紹了laravel5.4+vue+element簡單搭建的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vite代理如何解決跨域問題詳解

    Vite代理如何解決跨域問題詳解

    跨域是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript實施的安全限制,下面這篇文章主要給大家介紹了關于Vite代理如何解決跨域問題的相關資料,需要的朋友可以參考下
    2023-03-03
  • Vue項目中實現(xiàn)描點跳轉scrollIntoView的案例

    Vue項目中實現(xiàn)描點跳轉scrollIntoView的案例

    這篇文章主要介紹了Vue項目中實現(xiàn)描點跳轉scrollIntoView的案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue.js全局組件和局部組件示例代碼

    vue.js全局組件和局部組件示例代碼

    組件是Vue.js的最核心的功能,所謂的組件化就是把頁面拆分成多個組件,每個組件單獨使用CSS,JS,模板,圖片等資源進行開發(fā)與維護,然后在制作網(wǎng)頁的時候根據(jù)需要調用相關的組件,這篇文章主要給大家介紹了關于vue.js全局組件和局部組件的相關資料,需要的朋友可以參考下
    2022-12-12

最新評論