用nodeJS实现最简单的分页功能
最近在学习nodeJs,用nodeJs做了一个超级无敌简单的电影列表分页功能,有手就行!!!
该分页功能的原理是通过a标签的点击,将当前页数pagenum通过url一起传送到后端,在路由配置时接收到前端传送过来的pagenum。这里我是用get方法请求的。
首先看一下路由配置的代码:
router.get('/list',(req,res,next)=>{
// res.send('list');
var pagenum = req.query.pagenum ? req.query.pagenum : 1;
// console.log(pagenum);
MovieModel.find().sort({_id : -1}).then((infos)=>{
res.render('list',{
movieList : infos,
pagenum:pagenum,
page:Math.ceil(infos.length / 4)
});
});
});
接下来是ejs的代码:
<div id="movielist">
<ul id="list">
<% for(var i = 4 * (pagenum - 1);i < (pagenum * 4 > movieList.length ? movieList.length : pagenum * 4);i++){ %>
<li>
<div>
<img src="<%= movieList[i].movieurl%>">
</div>
<p><a href="/detail/<%= movieList[i]._id%>"><%= movieList[i].moviename %></a><span></p>
</li>
<% } %>
</ul>
<ul id="pagebtn">
<% for(var i =0;i<page;i++){ %>
<li class="page">
<a href="/list?pagenum=<%= i+1%>"><%= i+1%></a>
</li>
<% } %>
</ul>
</div>
这里就可以看到pagenum和url一起传入后端!!点击不同a标签的时候就可以改变pagenum的值啦!!
以上就是我的方法,希望可以帮助到大家!!!