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.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 回答
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 回答