利用vue.js实现分页查询

利用vue.js实现数据库分页

最新项目有一个分页功能,画面风格很简朴给的样图就用【1】表示页码了, 因此,我没有上网上找插件,自己简单的做了一个。作为菜鸟,代码可能有点青涩,请见谅。
这里写图片描述
这里写图片描述
除了vue我还引用了Bootstrap的类和图标

html
  <div class="paging">
          <ul class="pagination" style="margin: 13px">
            <li class="page-li" v-if="page>1"><a href="javascript:void(0);" @click="firstpg()" style="border: 0px;"><span class="glyphicon glyphicon-step-backward"></span></a></li>
            <li class="page-li" v-else></li>
            <li class="page-li" v-if="page>1"><a href="javascript:void(0);" @click="up()" style="border: 0px;"><span class="glyphicon glyphicon-chevron-left"></span></a></li>
            <li class="page-li" v-else></li>
            <li class="page-li" v-if="showup>0"><a href="javascript:void(0);" @click="showmore1()" style="border: 0px;">...</a></li>
            <li class="page-li" v-else></li>
            <li v-for="i in pages" v-if="i>showup&&i<showdown"><a href="javascript:void(0);" @click="setpage(i)" :class="{colorred:i==page}" style="border: 0px;">[{{i}}]</a></li>
            <li class="page-li" v-if="showdown<=pages"><a href="javascript:void(0);" @click="showmore2()" style="border: 0px;">...</a></li>
            <li class="page-li" v-else></li>
            <li class="page-li" v-if="page<pages"><a href="javascript:void(0);" @click="down()" style="border: 0px;"><span class="glyphicon glyphicon-chevron-right"></span></a></li>
            <li class="page-li" v-else></li>
            <li class="page-li" v-if="page<pages"><a href="javascript:void(0);" @click="lastpg()" style="border: 0px;"><span class="glyphicon glyphicon-step-forward"></span></a></li>
            <li class="page-li" v-else></li>
          </ul>
        </div>
js

const listData = {
initcount : 0,
//选中的页号
page : 1,
//显示页码下限
showdown : 0,
//显示页码上限
showup : 0,
};
$(function() {
new Vue({
el : ‘#manageArea’,
data : listData,
methods : {
setpage : setpage,
up : up,
down : down,
firstpg : firstpg,
lastpg : lastpg,
showmore1 : showmore1,
showmore2 : showmore2,
},
});
setShowdown();
setShowup();
initAjax();
});
//选中的页号
function setpage(i) {
listData.page = i;
setShowdown();
setShowup();
initAjax();
}
//向上翻一页
function up() {
if (listData.page > 1) {
listData.page = listData.page - 1;
setShowdown();
setShowup();
initAjax();
}
}
//向下翻一页
function down() {
if (listData.page < listData.pages) {
listData.page = listData.page + 1;
setShowdown();
setShowup();
initAjax();
}
}
//直接到首页
function firstpg() {
if (listData.page > 1) {
listData.page = 1;
setShowdown();
setShowup();
initAjax();
}
}
//直接到尾页
function lastpg() {
if (listData.page < listData.pages) {
listData.page = listData.pages;
setShowdown();
setShowup();
initAjax();
}
}
//往前翻三页
function showmore1() {
listData.showdown -= 3;
listData.showup -= 3;
}
//往后翻三页
function showmore2() {
listData.showdown += 3;
listData.showup += 3;
}
//设置显示的页码下限
function setShowdown() {
listData.showdown = listData.page + 2;
}
//设置显示的页码上限
function setShowup() {
listData.showup = listData.page - 2;
}


这样通过把选中的页码传到后台 计算出 limit 开始条数的值 如显示20条 开始值就是 (page-1)*20;就可以了。从代码到描述都很简陋,还请大家对我的错误不足进行指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值