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>

when 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 に答える