NODEJS 在 EJS 中循环一个对象

问题描述 投票:0回答:2

我需要访问 EJS 页面中的一个数组(对象对象),我的设置是显示一个从数据库中获取的数组。我已经在页面上显示了对象,但是在访问时我遇到了困难时间..

我正在使用以下代码:

<%  datacollection.forEach(function(data){ %>

    <h1><%=data.name%></h1>
<% } %>

但是我得到一个错误:

编译 ejs 时 C:\Users\FT\Desktop oobase-master\project\html\pages\quotes.ejs 中的参数列表后

SyntaxError: missing )

或者如果我在我认为有意义的地方添加')',则说相同的代码不是函数..

帮助!

编辑:我怎样才能遍历这个对象数组?已经尝试了一个 for 循环,但留下了一个空白,没有条目.. **使用这个:

<ul class="quotes">
  <!-- Loop through quotes -->
  <% for(var i = 0; i < datacollection.length; i++) {%>
    <li class="quote">
      <!-- Output name from the iterated quote object -->
      <span><%= datacollection[i].name %></span>:
      <!-- Output quote from the iterated quote object -->
      <span><%= datacollection[i].quote %></span>
    </li>
  <% } %>
</ul>
javascript node.js database ejs
2个回答
0
投票

在您的代码中,您忘记关闭 foreach ')'。这就是为什么它显示缺少右圆括号的错误。

<%  
datacollection.forEach(function(data){ %>

<h1><%=data.name%></h1>
<% }); %>

0
投票

如果您从后端将对象作为上下文传递,试试这个:

<% context.datacollection.forEach(function(data) { %>
  <h1><%=data.name%></h1>
<% }); %>
© www.soinside.com 2019 - 2024. All rights reserved.