【问题标题】: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 并显示正确数量的链接?

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

【问题讨论】:

    标签: node.js mongodb mongoose pagination ejs


    【解决方案1】:

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

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

    除以“分页”是页数。

    【讨论】:

    • 除以 Math.ceil() 以防其他人偶然发现这个问题 :) 感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    相关资源
    最近更新 更多