0

この coffeescript から javascript へのコンバーターhttp://coffeescript.org/を使用して、coffeescript チュートリアルを実行しています (coffeescript と jquery の両方を改善するため)。しかし、もともとjst.ecoテンプレートファイルで見つかった次のcoffeescriptでそれ<% %>を実行しようとすると、削除しても機能しません。 Firebugを使用してコンパイルされたjavascriptを出力しましたが、表示された唯一のファイルはjqueryファイルでした。

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

これをjqueryで書くとどうなりますか?

4

2 に答える 2

1

これは、Coffeescriptだけではありません。つまり、エコテンプレート、つまり、JSPやPHPなどのコーヒースクリプトコードが埋め込まれたHTMLテンプレートです。それは似たようなことをします

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自体は明らかにベータテストに1つあります

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