色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue分頁碼組件

林玟書2年前8瀏覽0評論

前端開發(fā)中最常用到的一項(xiàng)功能就是數(shù)據(jù)的分頁,不管是電商網(wǎng)站還是新聞資訊網(wǎng)站都需要對大量數(shù)據(jù)進(jìn)行分頁展示。而Vue分頁碼組件就是一個方便快捷的工具,可以用來實(shí)現(xiàn)數(shù)據(jù)的分頁功能。

Vue分頁碼組件的原理其實(shí)很簡單,就是通過對數(shù)據(jù)進(jìn)行分頁處理,生成包含頁碼的數(shù)組,根據(jù)數(shù)組來呈現(xiàn)分頁效果。具體實(shí)現(xiàn)過程如下:

<template>
<div class="pagination">
<ul>
<li v-for="item in pages">
<a :class="{'active': item===currentPage}" @click.prevent="changePage(item)">{{ item }}</a>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
currentPage: 1,
pageCount: 10,
showPageNum: 5,
total: 100
};
},
computed: {
pages() {
var pages = [];
if (this.total<= 0) {
return pages;
}
if (this.total<= this.pageCount) {
for (var i = 1; i<= this.total; i++) {
pages.push(i);
}
} else {
var offset = Math.floor((this.showPageNum - 1) / 2);
var left = this.currentPage - offset;
var right = this.currentPage + offset;
if (left< 1) {
left = 1;
right = this.showPageNum;
}
if (right >this.total) {
right = this.total;
left = this.total - this.showPageNum + 1;
}
for (var i = left; i<= right; i++) {
pages.push(i);
}
}
return pages;
}
},
methods: {
changePage(page) {
this.currentPage = page;
}
}
};
</script>

上述代碼給出了一個簡易的Vue分頁碼組件。其中主要包含了四個參數(shù):currentPage表示當(dāng)前頁碼;pageCount表示每頁展示的數(shù)據(jù)數(shù);showPageNum表示分頁碼組件中展示的頁碼數(shù)量;total表示原始數(shù)據(jù)的總量。

在computed計(jì)算屬性中,通過對total、currentPage、showPageNum做一些計(jì)算,生成包含頁碼的數(shù)組pages。當(dāng)total小于等于0時(shí),返回一個空數(shù)組。當(dāng)原始數(shù)據(jù)量小于等于pageCount時(shí),直接將所有頁碼展示出來。否則通過currentPage和showPageNum計(jì)算出pages數(shù)組中的元素,使其包含showPageNum個頁碼,當(dāng)前頁靠中間展示。

點(diǎn)擊頁碼的時(shí)候,觸發(fā)changePage方法,將當(dāng)前頁碼currentPage改為點(diǎn)擊的頁碼。然后,頁面重新渲染,展示新的當(dāng)前頁碼。

以上就是Vue分頁碼組件的基本實(shí)現(xiàn)方式。當(dāng)然,為了讓組件更加實(shí)用和美觀,還需要對其進(jìn)行一些樣式上的調(diào)整??梢愿鶕?jù)項(xiàng)目需要來添加組件的樣式,比如添加hover樣式、調(diào)整字體和樣式、設(shè)置分頁組件的大小等等。

總的來說,Vue分頁碼組件是一個方便快捷的工具,可以幫助前端開發(fā)人員快速實(shí)現(xiàn)數(shù)據(jù)的分頁功能,提高開發(fā)效率。