Node如何实现分页效果,代码怎样写
Admin 2022-07-11 群英技术资讯 1345 次浏览
这篇文章给大家分享的是“Node如何实现分页效果,代码怎样写”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。本文实例为大家分享了node+express实现分页效果展示的具体代码,供大家参考,具体内容如下
效果如下

1、 index.js
在index.js
//数据列表传前台+分页的实现
router.get('/admin', function(req, res, next) {
var count = 0;
var page = 0;
var size = 5;
//页码
var pagenum = req.query.pagenum;
var pagenum = pagenum?pagenum:1;
mongo.connect(url1,function(err,database){
database.collection("list",function(err,coll){
//异步处理
async.series([
function(callback){
coll.find({}).toArray(function(err,data){
count = data.length;//数据条数
//page = page<1? 1:page;
page = Math.ceil(count/size);//总共的页数
pagenum = pagenum<1?1:pagenum;//页码小于1;显示1
pagenum = pagenum>page?page:pagenum;//页码大于总页数;显示总页数
callback(null,'')
})
},function(callback){
coll.find().sort({_id:-1}).limit(size).skip((pagenum-1)*size).toArray(function(err,data){
callback(null,data)
})
}
],function(err,data){
res.render('admin',{list:data[1],page:page,count:count,pagenum:pagenum,size:size,name:req.session.name})
database.close()
})
// coll.find({}).toArray(function(err,data){
// res.render('admin', {list:data});//前端admin页面可用直接list
// database.close()
// })
})
})
});
2、所渲染的页面
<!-- 从数据库获取的数据展示 -->
<tbody id="tbody">
<% list.map(function(item,i){ %>
<tr>
<td><%- i+1 %></td>
<td><%- item.name %></td>
<td><%- item.nicheng %></td>
<td><%- item.time %></td>
<td><%- item.pass %></td>
<td class="text-center">
<div class="layui-btn-group">
<button class="btn btn-primary btn-xs change" data-toggle="modal" data-target="#myModal2" dw-url="create.html?id=1" dw-title="编辑用户">
<i class="layui-icon"></i>编辑
</button>
<button class="btn btn-danger btn-xs dw-delete delate" >
<i class="layui-icon"></i>删除
</button>
</div>
</td>
</tr>
<tr>
<% }) %>
</tbody>
<!-- 分页处理 -->
<div class="am-cf">
<li class="am-active" style="margin-top: 20px">
<span style="font-size:20px">第 <%-pagenum%> 页</span>
</li>
<div aria-label="Page navigation" style="margin-left:600px">
<ul class="pagination">
<li class="am-disabled">
<a href="/admin?pagenum=<%-pagenum<1?1:parseInt(pagenum)-1 %>" >«</a>
</li>
<% if(page>5){%>
<li class="am-active">
<a href="/admin?pagenum=1">1</a>
</li>
<li class="am-active">
<a href="/admin?pagenum=2">2</a>
</li>
<li class="am-active">
<a href="#" >...</a>
</li>
<li class="am-active">
<a href="/admin?pagenum=<%-page-1 %>"><%-page-1 %></a>
</li>
<li class="am-active">
<a href="/admin?pagenum=<%-page %>"><%-page %></a>
</li>
<% }else{%>
<% for(let i = 0;i<page;i++){ %>
<li class="am-active">
<a href="/admin?pagenum=<%-i+1 %>"><%-i+1 %></a>
</li>
<% } %>
<% } %>
<li>
<a href="/admin?pagenum=<%-pagenum>page?page:parseInt(pagenum)+1%>" >»</a>
</li>
</ul>
</div>
</div>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JavaScript字典与集合详解,集合是由一组无序且不重复的元素构成。我们可以将集合看成一种特殊的数组,它的特殊之处就是无序且不重复,这也就意味着我们不能通过下标的方式进行访问,而且集合中不会出现重复的元素
这篇文章主要给大家介绍了关于react如何实现一个密码强度检测器的相关资料,使用这个密码强度器后可以帮助大家提高在线帐号、个人信息的安全性,需要的朋友可以参考下
JavaScript实现音乐播放器 本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下 效果 HTML代码 <!--播放器--> <div id="player"> <!--播放控件--> <div id="playerControl"> <div class="playerImg"> <img src ...
vue项目或网页上实现文字转换成语音播放功能,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要为大家介绍了前端取消请求及取消重复请求方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008