带有分页的下一页链接
Next page links with pagination
我已经在我的控制器文件中实现了分页
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 个结果,但我无法找到任何 information/tutorials,包括如何实现 'next page' 链接。我的意思是,如果我有 20 个产品,并希望每页显示 5 个产品,我如何确保底部的链接不会超过 4 个 'next page'。我是否必须计算控制器内的页面数量并将其作为变量传递给我的 ejs 并显示正确数量的链接?
我只是想确保在考虑缩放的情况下采取正确的方法,因为我对此比较陌生!感谢任何帮助
很好,您已经return 某个对象中的产品。你也可以用它来 return 计数:
res.render("products", {
productsList: prod,
count: await Product.count({})
});
除以'pagination'就是页数。
我已经在我的控制器文件中实现了分页
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 个结果,但我无法找到任何 information/tutorials,包括如何实现 'next page' 链接。我的意思是,如果我有 20 个产品,并希望每页显示 5 个产品,我如何确保底部的链接不会超过 4 个 'next page'。我是否必须计算控制器内的页面数量并将其作为变量传递给我的 ejs 并显示正确数量的链接?
我只是想确保在考虑缩放的情况下采取正确的方法,因为我对此比较陌生!感谢任何帮助
很好,您已经return 某个对象中的产品。你也可以用它来 return 计数:
res.render("products", {
productsList: prod,
count: await Product.count({})
});
除以'pagination'就是页数。