无法在node.js的ejs模板中呈现

时间:2013-04-04 17:46:33

标签: node.js ejs

我在node.js ejs模板中遇到了一个问题。 这是快递代码。

app.get('/course',function(req,res){
     var locals = {};
     locals.course = {
            title: 'data.title',
            city: 'data.city',
            desc: 'data.desc',
            id: 'data._id'
     };         
     res.render('course_description',locals );
});

这是模板代码

<div >
  <article>
    <% if(locals.course) { %>           
            <div><% locals.course.title %></div>
            <div><% locals.course.city %></div>
            <div><% course.city %></div>
            <div><% course.title %></div>   
    <% } %>
  </article>    
</div>

当res.render('course_description',本地人);触发后,本地数据应传递给模板,但由于某些未知原因,它不适用于此示例。

我得到的只是4空

<div >
  <article>         
            <div></div>
            <div></div>
            <div></div>
            <div></div> 
  </article>    
</div>

以前有人遇到过这个问题吗,我很困惑,之前我做过一些工作的例子,但是当我把它与其他工作的比较时,我仍然找不到原因。

注意,我正在使用最新的ejs并表达

1 个答案:

答案 0 :(得分:2)

<% ... %>用于代码构造,不用于输出。

试试这个:

<div>
  <article>
    <% if (locals.course) { %>
      <div><%= locals.course.title %></div>
      <div><%= locals.course.city %></div>
      <div><%= course.city %></div>
      <div><%= course.title %></div>
    <% } %>
  </article>
</div>