Node如何实现分页效果,代码怎样写
Admin 2022-07-11 群英技术资讯 501 次浏览
本文实例为大家分享了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中,可以利用reverse()方法来实现元素倒序排列,reverse()方法的作用就是颠倒数组中元素的顺序,语法为“需要进行倒序排列的数组元素.reverse()”。
vue跟小程序的区别:1、vue一般会在created或者mounted中请求数据,而在小程序会在onLoad或onShow中请求数据;2、vue动态绑定一个变量的值为元素的某个属性的时候,会在变量前面加上冒号,而小程序绑定某个变量的值为元素属性时,会用两个大括号括起来;3、vue用“v-if”和“v-show”控制元素的显示和隐藏,小程序用“wx-if”和hidden控制。
这篇文章主要为大家介绍了Vue.nextTick使用方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
我们在是使用手机的时候,会有横竖屏观看的操作,则画面就要随着改变,那么横竖屏是怎样搭配检测的呢?本文就给大家介绍一下用JS判断移动端横竖屏的方法,感兴趣的朋友可以了解看看。
这篇文章主要给大家介绍了关于如何利用JavaScript获取字符串中重复次数最多的字符的相关资料,文中介绍了两种解决方案,分别是使用对象以及数组&指针来实现,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008