【问题标题】:how to define variable in footer如何在页脚中定义变量
【发布时间】:2019-06-08 19:46:58
【问题描述】:

在我的应用程序的页脚(显示在每个页面上)我有一个事件列表,例如:

接下来的活动: 名称 '''(course.name)''' 日期'''(课程.日期)''' 我正在创建一个 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 作为引擎。

网站在这里:https://pure-cove-85477.herokuapp.com/

【问题讨论】:

  • 你能从你的服务器的角度展示你是如何渲染的吗?我认为应该有一个res.render("template-name.ejs", {foo: "bar"}); 或类似的地方。考虑Using template engines with Express
  • 嗨,虽然我将包含页脚的登录页面呈现为部分模板是可行的。我正在使用 EJS,发布更新
  • 在渲染着陆页之前,allCourses 的值是多少。此时数据库是否返回了查询结果,是否分配给allCourses

标签: html node.js express ejs


【解决方案1】:

我想你有一个对象数组。 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 标签中使用“course”,你必须使用一个 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>
<% }); %>

【讨论】:

    猜你喜欢
    • 2012-05-08
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2011-12-27
    相关资源
    最近更新 更多