Vue分頁(yè)組件實(shí)例代碼
本文實(shí)例為大家分享了Vue分頁(yè)組件的具體代碼,供大家參考,具體內(nèi)容如下
當(dāng)前組件依賴bootstrap樣式,使用前請(qǐng)先引用相關(guān)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="首頁(yè)" aria-label="首頁(yè)"><i class="fa fa-fast-backward"></i></a></li>
<li :class="{'disabled': pageNum == 1}"><a href="#" v-on:click.prevent="turnToPage(pageNum - 1)" title="上一頁(yè)" aria-label="上一頁(yè)"><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="下一頁(yè)" aria-label="下一頁(yè)"><i class="fa fa-forward"></i></a></li>
<li :class="{'disabled': pageNum == pageTotal}"><a href="#" v-on:click.prevent="turnToPage(pageTotal)" title="尾頁(yè)" aria-label="尾頁(yè)"><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(`當(dāng)前頁(yè)碼超出了范圍。頁(yè)碼:${num}`, '錯(cuò)誤')
return false
}
this.$emit('change', num)
}
}
})
props定義三個(gè)屬性:當(dāng)前頁(yè)碼,當(dāng)前頁(yè)顯示數(shù)量,總數(shù)量
computed定義了一個(gè)計(jì)算方法:獲取總數(shù)量/當(dāng)前頁(yè)顯示數(shù)量,向上取整,默認(rèn)取10個(gè)
methods定義了一個(gè)根據(jù)頁(yè)碼跳轉(zhuǎn)方法:最終用于觸發(fā)change事件,$emit用于拋出自定義事件,組件外可以捕獲當(dāng)前定義的change事件
html組件顯示:
以上的值為自己傳入的值
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的方法,你們可以自己去修改內(nèi)容。
效果圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue使用視頻作為網(wǎng)頁(yè)背景的實(shí)現(xiàn)指南
在現(xiàn)代網(wǎng)頁(yè)設(shè)計(jì)中,視頻背景逐漸成為一種流行的設(shè)計(jì)趨勢(shì),它不僅能夠提升網(wǎng)頁(yè)的動(dòng)態(tài)效果,還可以在視覺(jué)上抓住用戶的注意力,本文將詳細(xì)講解如何在頁(yè)面中使用視頻作為背景,并確保內(nèi)容可見(jiàn)、頁(yè)面元素布局合理,需要的朋友可以參考下2024-10-10
Vue請(qǐng)求JSON Server服務(wù)器數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Vue請(qǐng)求JSON Server服務(wù)器數(shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2018-11-11
Vue?3?中動(dòng)態(tài)賦值?ref?的應(yīng)用示例解析
Vue3引入了Composition?API,其中ref是核心概念,允許開(kāi)發(fā)者聲明響應(yīng)式狀態(tài),本文通過(guò)一個(gè)具體示例,探討了在Vue3中如何使用ref進(jìn)行動(dòng)態(tài)賦值,尤其是在處理DOM相關(guān)操作時(shí)的應(yīng)用,通過(guò)ref動(dòng)態(tài)賦值,可以有效管理組件內(nèi)的狀態(tài),提高代碼的可維護(hù)性和清晰度2024-09-09
VUE中鼠標(biāo)滾輪使div左右滾動(dòng)的方法詳解
這篇文章主要給大家介紹了關(guān)于VUE中鼠標(biāo)滾輪使div左右滾動(dòng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
VUE3自定義指令防止重復(fù)點(diǎn)擊多次提交的實(shí)現(xiàn)方法
vue3項(xiàng)目,新增彈框連續(xù)點(diǎn)擊確定按鈕防止多次提交,在按鈕上添加自定義指令,這篇文章主要介紹了VUE3自定義指令防止重復(fù)點(diǎn)擊多次提交的實(shí)現(xiàn)方法,需要的朋友可以參考下2024-08-08
細(xì)說(shuō)Vue組件的服務(wù)器端渲染的過(guò)程
這篇文章主要介紹了細(xì)說(shuō) Vue 組件的服務(wù)器端渲染,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
vue中循環(huán)請(qǐng)求接口參數(shù)問(wèn)題及解決
這篇文章主要介紹了vue中循環(huán)請(qǐng)求接口參數(shù)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

