我已经在我的控制器文件中实现了分页
exports.products = async (req, res) => {
const pagination = req.query.pagination ? parseInt(req.query.pagination) : 5;
const page = req.query.page ? parseInt(req.query.page) : 1;
const prod = await Product.find({})
.skip((page - 1) * pagination)
.limit(pagination);
res.render("products", {
productsList: prod,
});
};
上面的代码有效,我可以通过将URL从更改/products?page=1
为/products?page=2
等来访问每页5个结果。但是我找不到任何信息/教程,其中包括如何实现“下一页”链接。我的意思是,如果我有20种产品,并且希望每页显示5种产品,那么如何确保底部的链接不会超过4个。我是否必须计算控制器内部的页面数,并将其作为变量传递给我的ejs,并显示正确数量的链接?
我只是想确保我采用正确的方法并考虑扩展性,因为我对此还比较陌生!任何帮助表示赞赏
最好您已将产品退还给某个对象。您可以使用它还返回一个计数:
res.render("products", {
productsList: prod,
count: await Product.count({})
});
由“分页”表示的是页数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句