使用 EJS 模板引擎时不显示对象值
Object values are not displayed when I use EJS templating engine
我有一个非常简单的 EJS 设置:
staff
<ul>
<% staffs.all.Items.forEach(function(staff){%>
<li><%= JSON.stringify(staff) %></li>
<% }); %>
</ul>
<ul>
<% staffs.all.Items.forEach(function(staff){%>
<li><%= staff.first_name %></li>
<% }); %>
</ul>
我得到的输出是:
staff
- {"first_name":"John","staff_id":"324b2808-9f2b-4967-a27e-6f140d29ffa3","last_name":"Doe"}
- {"first_name":"Mike","staff_id":"031c04d6-cd4a-4041-a20d-fc2ae4fbb23f","last_name":"Gates"}
-
-
为什么第二个列表没有显示?应该是:
- John
- Mike
在使用下划线模板引擎遇到同样的问题之后。我发现问题实际上在于从 DynamoDB 检索数据。
现在如果我这样做:
app.Staff.getStaffs = function() {
var deferred = q.defer()
app.Staff.scan().exec(function(err, data) {
if (err){
deferred.reject(err);
}else{
deferred.resolve({
all: JSON.parse(JSON.stringify(data))
});
}
});
return deferred.promise
}
而不是这个:
app.Staff.getStaffs = function() {
var deferred = q.defer()
app.Staff.scan().exec(function(err, data) {
if (err){
deferred.reject(err);
}else{
deferred.resolve({
all: data
});
}
});
return deferred.promise
}
我得到了值。可能不是最佳解决方案,但可以。
我有一个非常简单的 EJS 设置:
staff
<ul>
<% staffs.all.Items.forEach(function(staff){%>
<li><%= JSON.stringify(staff) %></li>
<% }); %>
</ul>
<ul>
<% staffs.all.Items.forEach(function(staff){%>
<li><%= staff.first_name %></li>
<% }); %>
</ul>
我得到的输出是:
staff
- {"first_name":"John","staff_id":"324b2808-9f2b-4967-a27e-6f140d29ffa3","last_name":"Doe"}
- {"first_name":"Mike","staff_id":"031c04d6-cd4a-4041-a20d-fc2ae4fbb23f","last_name":"Gates"}
-
-
为什么第二个列表没有显示?应该是:
- John
- Mike
在使用下划线模板引擎遇到同样的问题之后。我发现问题实际上在于从 DynamoDB 检索数据。
现在如果我这样做:
app.Staff.getStaffs = function() {
var deferred = q.defer()
app.Staff.scan().exec(function(err, data) {
if (err){
deferred.reject(err);
}else{
deferred.resolve({
all: JSON.parse(JSON.stringify(data))
});
}
});
return deferred.promise
}
而不是这个:
app.Staff.getStaffs = function() {
var deferred = q.defer()
app.Staff.scan().exec(function(err, data) {
if (err){
deferred.reject(err);
}else{
deferred.resolve({
all: data
});
}
});
return deferred.promise
}
我得到了值。可能不是最佳解决方案,但可以。