数据展示
<template>
<div class="sn-text ">
<div class="sn-text1" v-for="(info, index) in dataShow"
:class="{ 'alt': index%2==1 }" :key="info.articleId">
<img src="../../assets/img/003.jpg" align="right"/>
<h5 v-on:click="AsyGetTestID(info.articleId)">
{{ info.title }}
</h5>
</div>
<div class="page">
<ul>
<li class="inline-block text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
<a href="#" v-on:click="prePage"> < </a>
</li>
<li class="inline-block text-gray-700 text-center bg-gray-400 px-4 py-2 m-2" v-for="(item, index) in totalPage" :key="item.articleId">
<a href="#" v-on:click="toPage(index)" :class="{active: currentPage==index}">{{ index+1 }}</a>
</li>
<li class="inline-block text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">
<a href="#" v-on:click="nextPage">></a>
</li>
</ul>
</div>
</div>
</template>
data
data() {
return {
newinfo: [],
Labels: [],
//每页展示多少内容
perPage: 10000,
// 总页数
pageNum:1,
// 每页显示的个数
pageSize:4,
// 当前页
currentPage:0,
// 总数据
totalPage:[],
// 当前显示的数据
dataShow:[]
}
},
created() {
this.AsyGetTest()
},
methods: {
nextPage: function(){
var vm = this;
if (vm.currentPage == vm.pageNum - 1) return;
vm.dataShow = vm.totalPage[++vm.currentPage]
},
prePage: function(){
var vm = this;
if (vm.currentPage == 0) return;
vm.dataShow = vm.totalPage[--vm.currentPage]
},
toPage: function(page){
var vm = this;
vm.currentPage = page
vm.dataShow = vm.totalPage[vm.currentPage];
},
//加载文章
AsyGetTest() {
request({
url: '/api/SnArticle/GetTest'
}).then(res => {
// 只获取0到4之间的数据
this.newinfo = res.data.slice(0, this.perPage);
var vm = this;
// 总页数
vm.pageNum = Math.ceil(vm.newinfo.length / vm.pageSize) || 1 ;
// 分组
for (var i = 0; i<vm.pageNum; i++) {
vm.totalPage[i] = vm.newinfo.slice(vm.pageSize * i, vm.pageSize * (i + 1))
}
// 取值
vm.dataShow = this.newinfo[vm.currentPage];
// vm.nextPage();
}).catch((e) => {
console.log(e + '获取数据失败');
});
//首次加载
request({
url: '/api/SnArticle/GetTest'
}).then(res => {
// 只获取0到4之间的数据
this.dataShow = res.data.slice(0, 4);
}).catch((e) => {
console.log(e + '获取数据失败');
});
},
}