【发布时间】:2019-01-02 20:04:53
【问题描述】:
所以这是我的问题,我正在尝试在 ejs 中执行一个 forEach,它将 html 呈现到页面上。这是 ejs forEach 循环的商店页面。
<% include _includes/header.ejs %>
<div class="container">
<% cards.forEach( card => { %>
<% include('_includes/cards.ejs', card) %>
<% }) %>
</div>
<% include _includes/footer.ejs %>
这是cards.ejs文件
<div class="card" style="width: 18rem;">
<img class="card-img-top" src='' alt="Card image cap">
<div class="card-body">
<h5 class="card-title"><%= titleCard %></h5>
<p class="card-text"><%= desc %></p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
这是我的商店页面的快递代码
app.get('/store', function(req, res) {
res.render('store', {
user: req.user,
title: 'Store'});
});
最后是这个
cards = [
{
titleCard: 'title 1',
desc: 'just some text'
},
{
titleCard: 'title 1',
desc: 'just some text'
},
{
titleCard: 'title 1',
desc: 'just some text'
},
]
我尝试了多种方法,但总是收到错误卡未定义。我应该把这个放在哪里?我非常感谢您对此的帮助!
【问题讨论】:
-
您没有显示您的 Express 代码,但您必须将
cards传递给res.render()以便 EJS 在尝试呈现页面时拥有数据。任何将 EJS 与 Express 结合使用的基本示例都应该向您展示如何传递要在渲染模板中使用的数据。 -
@jfriend00 我已经用快递代码更新了我的帖子。
标签: arrays node.js express foreach ejs