带有分页的下一页链接

Posted

技术标签:

【中文标题】带有分页的下一页链接【英文标题】:Next page links with pagination 【发布时间】:2021-03-12 21:26:53 【问题描述】:

我已经在我的控制器文件中实现了分页

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 并显示正确数量的链接?

我只是想确保我在考虑缩放的情况下采取正确的方法,因为我对此相对较新!任何帮助表示赞赏

【问题讨论】:

【参考方案1】:

您已经在某个对象内退回了产品,这很好。您还可以使用它来返回计数:

  res.render("products", 
    productsList: prod,
    count: await Product.count()
  );

除以“分页”是页数。

【讨论】:

除以 Math.ceil() 以防其他人偶然发现这个问题 :) 感谢您的回答!

以上是关于带有分页的下一页链接的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Scrapy FormRequest 在分页的 .asp 站点上模拟下一页链接请求

如何实现在分页的时候,点击下一页记录上一页选中的数据?

带分页的 Ajax 搜索 [Laravel]

当我使用它与db2进行分页时,我的下一页是错误的

带有分页的 UICollectionView

React-Native 水平滚动视图分页:预览下一页/卡片