你如何在 EJS 中为每个循环做一个 for 循环



我知道它必须进入 <% %>,但我不确定它是否与典型的 forEach/for 循环有很大不同。EJS 网站上的文档非常有限,所以我来到了这里。

<% include ../../partials/header %>
<body>
  <main>
    <h1>List of all quotes</h1>
    <ul>
      <li> <!-- for loop goes here, inside flounder -->
        <%
        all quote stuff goes here
        author
        content
        wrap it in a link to its quote page
      </li>
    </ul>
  </main>
</body>
</html>

所以这是关于 embeddedjs 的例子:

    <ul>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
</ul>

这是我所做的:

<% include ../../partials/header %> <
<body>
  <main>
    <h1>List of all quotes</h1>
    <ul>
      <% for(var i = 0; i < author.length; i++) { %>
        <li><%= author[i] %></li>
      <% } %>
      <% for(var i = 0; i < content.length; i++) { %>
        <li><%= content[i] %></li>
      <% } %>
    </ul>
  </main>
</body>
</html>

假设您有一个学生JSON对象,其中包含学生姓名,年份和课程的详细信息,那么您可以使用forEach进行循环,如下所示。

<ul>
 <% students.forEach(function(student) { %>
    <li> Name:<%= student.name %> Course:<%= student.course %></li>
 <% }); %> 
</ul>

这同样适用于上面的作者和引用问题

我想

使用forEach数组方法并将索引作为第二个参数传递,并做了这样的事情:

<% orders.products.forEach((order,index) => {%>
            <tr>
              <td><%= index+1 %></td>
              <td><%= order.description %></td>
              <td><%= order.price %></td>
              <td><%=order.quantity %></td>
              <td><%=orders.amount %></td>
              <td><%=order.salesTax %></td>
              <td><%=order.tax %></td>
              <td><%=order.amount %></td>
            </tr>
            <% });%> <% }%>

试试这个

 <% users.forEach(function(user, i){ %>
<tr>
    <th scope="row"> <%= i+1 %> </th>
    <td><%= user.name %></td>
    <td><%= user.email %></td>
    <td><%= user.gender %></td>
    <td><%= user.status %></td>
    
</tr>

<% }(;%>

最新更新