0

具体的な質問: このコードはバックボーン テンプレート index.jst.eco では機能しますが、index.jst.ejs では機能しません。

<ui>

<% for entry in @entries.models: %>
<li> <%= entry.get('name') %></li>
<% end %>

</ui>

その理由 (つまり、ejs 用に修正する方法) を知りたいのですが、より一般的には、ejs テンプレートでコードを記述する方法に関する包括的なドキュメントはありますか? 詳細に書かれているものは見つかりません。ejs と eco をいじってみると、: の有無や大括弧が大きな影響を与える可能性があることに気付きましたが、何をいつ使用すればよいかを知る方法がわかりません。

どちらの構文のドキュメントが優れているかに応じて、jst.eco または jst.ejs を使用したいと考えています。

4

3 に答える 3

1

この問題が発生しました。これが私の解決策です。

<% entries.each(function(entry){%>
  <li><%= entry.get('name') %></li>
<% });%>
于 2012-12-23T22:04:27.700 に答える
0

私が知っていることから、jst.eco 形式は jst テンプレートに埋め込まれた CoffeeScript であり、jst.ejs は JavaScript でのみ機能します。あなたの場合、この JavaScript 反復をレンダリングできるのはそのためです。

<% for (var i = 0; i < entries.length; i++) { %>

しかし、このCoffeeScriptの相互作用ではありません:

<% for entry in @entries.models: %>
于 2015-09-11T08:38:45.443 に答える
0

これは、エコ コードが jst.ejs でどのように記述されるかです。

   <% for (var i = 0; i < entries.length; i++) { %>
    <li> <%= entries.models[i].get('name') %></li>
    <% } %>

ただし、for entry in entries.modelsイテレータで動作させることはできません

于 2012-09-15T05:34:01.350 に答える