0

我在 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',locals ); 被触发时,本地数据应该传递给模板,但由于某些未知原因,它不适用于本示例。

我得到的只有 4 个空的

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

以前有没有人遇到过这个问题,我很困惑,我以前做过一些工作示例,但是当我将其与其他工作示例进行比较时,我仍然找不到原因。

注意,我使用的是最新的 ejs 和 express

4

1 回答 1

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>
于 2013-04-04T18:52:14.093 回答