我正在关注一个教程并被困在这里。一切看起来都不错。我仍然得到这个错误。有人可以指出我正确的方向。
未定义memberName
<% for(var i=0; i < notes.length; i++) { %>
<div class="list-group-item">
<div>Note from <em><strong><%=memberName[i]%></strong></em> on:
<%= createdOn.toDateString() %>
<strong><%= project[i] %></strong></div>
<div><strong>Work yesterday:</strong>
<%= workYesterday[i] %>
</div>
<div><strong>Work today:</strong>
<%= workToday[i] %>
</div>
<div><strong>Impediment:</strong>
<%= impediment[i] %>
</div>
</div>
<%}%>
控制器代码:
exports.list = function (req, res) {
var query = Standup.find();
query.limit(12)
.exec(function (err, results) {
console.log(results);
res.render('index', { title: 'Standup - List', notes: results });
});
};
答案 0 :(得分:0)
<%=memberName[i]%>
表示&#34;当我发送ejs时,我将用memberName&#34;的值替换它。
但是在你的控制器中,你没有提供它,阻止了ejs。
在控制器中,你应该有类似的东西:
res.render('index', {
title: 'Standup - List',
notes: results,
memberName: memberName //<--
});
修复此问题后,您还必须提供createdOn
,project
,workYesterday
,workToday
,workTomorrow
和{{1} }。
答案 1 :(得分:0)
<%=
是用于评估HTML中的值的EJS标记。
<%= memberName %>
会在HTML代码中输出变量memberName
的值。因此,在渲染html页面时需要传递参数memberName。你错过了参数。
您的控制器代码应如下所示:
exports.list = function (req, res) {
var query = Standup.find();
query.limit(12)
.exec(function (err, results) {
console.log(results);
res.render('index', { title: 'Standup - List', notes: results, memberName: 'Test Member Name' });
});
};
答案 2 :(得分:0)
你可能正在寻找这个:
<% for(var i=0; i < notes.length; i++) { %>
<div class="list-group-item">
<div>Note from <em><strong><%= notes[i].memberName %></strong></em> on:
<%= notes[i].createdOn.toDateString() %>
<strong><%= notes[i].project %></strong></div>
<div><strong>Work yesterday:</strong>
<%= notes[i].workYesterday %>
</div>
<div><strong>Work today:</strong>
<%= notes[i].workToday %>
</div>
<div><strong>Impediment:</strong>
<%= notes[i].impediment %>
</div>
</div>
<%}%>
可以进一步减少到这个:
<% notes.forEach(function(note) { %>
<div class="list-group-item">
<div>Note from <em><strong><%= note.memberName %></strong></em> on:
<%= note.createdOn.toDateString() %>
<strong><%= note.project %></strong></div>
<div><strong>Work yesterday:</strong>
<%= note.workYesterday %>
</div>
<div><strong>Work today:</strong>
<%= note.workToday %>
</div>
<div><strong>Impediment:</strong>
<%= note.impediment %>
</div>
</div>
<% }) %>