我已经在控制器文件中实现了分页
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个。我是否必须计算控制器内的页数,并将其作为变量传递给我的ej,并显示正确的链接数量?
我只是想确保我在考虑缩放的情况下采取正确的方法,因为我对此相对陌生!感谢提供的任何帮助
最好已经将产品返回到某个对象中。您也可以使用它来返回计数:
res.render("products", {
productsList: prod,
count: await Product.count({})
});
由"分页"分隔的是页数。