【发布时间】:2015-07-01 03:19:01
【问题描述】:
我正在尝试解决一个问题,即使用 ejs 在 forEach 循环中访问某些 javascript 对象的所有值。
使用以下.....
<ul>
<% users.forEach(function(user) { %>
<li><%= user %></li>
<% }); %>
</ul>
像这样将对象正确显示为列表..
{ _id: 55907b9a84218bf511000001, __v: 0, bio: 'awesome bio', name: 'Joe Bloggs', email: 'joe@mail.com'}
{ _id: 5590818fba82f6e31a000001, bio: 'Another great bio', name: 'Rose', email: 'rosey@mail.com' }
并使用....
<ul>
<% users.forEach(function(user) { %>
<li><%= user.id %></li>
<% }); %>
</ul>
按预期只显示对象 id ......
55907b9a84218bf511000001
5590818fba82f6e31a000001
问题是当我尝试使用访问“名称”或“电子邮件”值时
<li><%= user.name %></li>
<li><%= user.email %></li>
即使我知道值正确到达视图,也会导致“未定义”。我究竟做错了什么?提前致谢!
【问题讨论】:
-
你试过
user._doc.name和user._doc.email吗? -
您如何将用户数组传递给您的模板?
-
感谢@mscdex 修复它。没见过以前用过的。如果你能告诉我为什么需要 _doc 来访问这些值而不是 user.id 我真的很感激!
-
@BidhanA 感谢您的回复。其他有类似问题的人都很清楚,我只是传递了请求回调函数中返回的用户数据,就像
res.render('index.ejs', { users : users } );
标签: javascript node.js express ejs