在应用程序的页脚(显示在每个页面中)中,我有一个事件列表,例如:
下一个事件: 名称'''(course.name)''' 日期'''(course.date)''' 我正在创建一个for循环
<h4 class="pb-1 pb-md-5">PROXIMOS EVENTOS</h4>
<% for (var i = 0; i < 3; i++) { %>
<div class="eventDisplay text-center text-md-left">
<p></p>
<h6><i class="fas fa-calendar-alt"></i> <%= course.date%></h6>
<p> <%= course.name %> </p>
<p class="pFooter">Actualizate con nuestros</p>
<a href="#">Saber mas <i class="fas fa-angle-right"></i></a>
</div>
<% }; %>
但我一直认为该课程没有定义。如何定义课程,以便用户每次创建新课程时,都可以提取该信息并在我的课程页面和页脚中使用它?
在渲染方面,外观如下:
// ROOT ROUTE
// shows landing page
router.get("/", function(req, res){
// get all courses from DB
Course.find({}, function(err, allCourses){
if(err){
console.log(err);
} else {
res.render("landing", {courses:allCourses});
}
});
});
我正在使用EJS作为引擎。
答案 0 :(得分:0)
我想您有一个对象数组。 course
未定义,因此您必须将courses
与索引一起使用。试试这个
<% for (var i = 0; i < 3; i++) { %>
<div class="eventDisplay text-center text-md-left">
<p></p>
<h6><i class="fas fa-calendar-alt"></i> <%= courses[i].date%></h6>
<p> <%= courses[i].name %> </p>
<p class="pFooter">Actualizate con nuestros</p>
<a href="#">Saber mas <i class="fas fa-angle-right"></i></a>
</div>
<% }; %>
如果要在ejs标记中使用“课程”,则必须使用forEach循环。例如:
<% courses.forEach(course => { %>
<div class="eventDisplay text-center text-md-left">
<p></p>
<h6><i class="fas fa-calendar-alt"></i> <%= course.date%></h6>
<p> <%= course.name %> </p>
<p class="pFooter">Actualizate con nuestros</p>
<a href="#">Saber mas <i class="fas fa-angle-right"></i></a>
</div>
<% }); %>