首页 > 解决方案 > EJS 中的无限滚动

问题描述

正如标题所说,我正在尝试使用 ejs 在我的页面上实现无限滚动。

现在我将其设置为将有限数量的项目从我的数据库呈现到页面。

快递JS端:

app.get(`/`, (req, res) => {
    database.find({}, (err, items) => {
      if (!err){
        res.render("home",{cards:items});  
      } else {
        console.log(err);
      }
    }).limit(20);
});

在 EJS 方面,我通过 forEach 循环将项目显示在 EJS 中。

<%cards.forEach((i) => {%>

  <p><%=i.contents%></p>

<%})%>

它加载了有限数量的资源。

现在使用 Socket io,我可以发送额外内容的请求

客户

socket.emit("loadmore", parseInt(count));

服务器

socket.on("loadmore", (count) => {
  linkscr.amazon.find({},(e,found)=>{
    if(!e){
      const data = found;
      socket.emit("loadmore", data);
    }
  }).skip(count).limit(10);

});

现在我还有另外十个项目我想尝试将其推入正在运行的 for 循环中,但据我所知,我无法看到如何执行此操作,因为我正在为请求函数运行该函数。我有办法做到这一点吗?

标签: socket.ioejsinfinite-scroll

解决方案


推荐阅读