我正在使用def method_missing(method_name, *args)
nil
end
开发一个node.js
项目。我运行路线并渲染ejs页面,并通过它传递express.js
对象。当我执行team
时,它会显示团队详细信息,但会为console.log(team)
提供undefined
值,尽管它存在。我该如何解决。我还将附加<%= team.member.name %>
和我的ejs代码的屏幕截图。请帮助This is the embedded screenshot
我的ejs文件是:
console.log(team)
<% include ./partials/header%>
<% console.log("yup"+team)%>
<table class="table-striped table table-bordered">
<tr class="thead-dark">
<th>Name</th>
<th>Year</th>
<th>Skills</th>
<th>Leader</th>
</tr>
<% for(i = 0; i < team.members.length; i++){
var member = team.members[i];%>
<tr>
<td><%= member.name %></td>
<td><%= member.year %></td>
<td>
<ul>
<% for(var i = 0; i < member.skills.length; i++){ %>
<li>
<%= member.skills[i];%>
</li>
<% } %>
</ul>
</td>
<td><% if(member.isLeader) { %>
Yes
<% } else { %>
No
<% } %>
</td>
</tr>
<% } %>
</table>
<% include ./partials/footer%>
答案 0 :(得分:0)
我想您的for
循环中有问题。您尝试过forEach
循环吗?
尝试使用此:
<% team.members.forEach(member => { %>
<tr>
<td><%= member.name %></td>
<td><%= member.year %></td>
<td>
<ul>
<% member.skills.forEach(skill => { %>
<li>
<%= skill%>
</li>
<% }); %>
</ul>
</td>
<td><% if(member.isLeader) { %>
Yes
<% } else { %>
No
<% } %>
</td>
</tr>
<% }); %>
答案 1 :(得分:0)
<% if (typeof team === "undefined" ) { %>
// do smth
<%} else {%>
// do smth
<%}%>
根据某些条件,您将team
设为undefined
,这意味着在发出GET
请求时,没有任何内容发送到ejs
文件,但是在某些情况下,您将team
设为defined
,因此必须隐式实现这两种情况