0

我正在使用这个coffeescript 到javascript 转换器http://coffeescript.org/来完成一个coffeescript 教程(以改进我的coffeescript 和jquery)。但是,当我尝试使用最初在 jst.eco 模板文件中找到的以下咖啡脚本时,它不起作用,即使我删除了<% %>类似地,我尝试在实时站点上运行代码并找到使用 Firebug 编译的 javascript 但它显示给我的唯一文件是 jquery 文件。

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

你会怎么用jquery写这个?

4

2 回答 2

1

这不仅仅是Coffeescript,它是一个生态模板,即嵌入了coffeescript 代码的HTML 模板,类似于JSP 或PHP。它做类似的事情

var entry, x, _i, _len, _ref;

x = [];

_ref = this.entries.models;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
  entry = _ref[_i];
  x.push('<li>');
  x.push(entry.get('name'));
  x.push('</li>');
}

return x;

您可能想看看使用等效的模板引擎。jQuery 本身显然在 beta-testing 中有一个

于 2012-04-13T05:37:47.780 回答
0

在 jQuery 中,您应该能够编写:

<% $.each(this.entries.models, function (key, entry) { %>
  <li><%= entry.get('name') %></li>
<% }) %>

在香草Javascript中

<% this.entries.models.forEach(function (entry) { %>
  <li><%= entry.get('name') %></li>
<% }) %>

如果this.entries.models是主干集合,则 forEach 方法由下划线提供。

于 2012-04-13T06:49:24.870 回答