2

私はかなり単純な間違いをしていると確信していますが、説明を見つけることができないようです。テンプレートに次の行があり、html出力に値が出力されていません。

  <%= _.each(@place.get("hash"),(count, tag) -> "#{tag} ") %>

この行は、コンソールに値を完全に正常に出力しています。

  <%= _.each(@place.get("hash"),(count, tag) -> console.log "#{tag} ") %>

印刷コマンドを使用して更新しようとすると、googlechromeが印刷メニューを表示します。どうすればこれを解決できますか

4

3 に答える 3

6

便利なアンダースコアメソッドmuが短すぎることに加えて、Ecofor ofでCoffeeScriptのネイティブを使用することもできます。

<% for tag of @place.get("hash"): %>
  <%= tag %>
<% end %>

これは、各要素の周りにマークアップを追加する必要がある場合に役立ちます。例えば:

<ul>
  <% for tag of @place.get("hash"): %>
    <li><%= tag %></li>
  <% end %>
</ul>
于 2012-05-09T17:03:59.460 に答える
2

アンダースコアeachは何も返さないので、<%= _.each(...) %>有用なことは何もしません。あなたが使用することができ_.mapますjoin

<%= _(@place.get('hash')).map((count, tag) -> tag).join(' ') %>

またはあなたは使用することができ_.keysますjoin

<%= _(@place.get('hash')).keys().join(' ') %>

キー_.eachを抽出しているだけなので、意味を言う必要があります。

node.sを使用している場合は、次のものも必要ですObject.keys

<%= Object.keys(@place.get('hash')).join() %>
于 2012-05-09T16:18:19.520 に答える
0

_.eachアンダースコアのメソッドを使用してハッシュを反復処理する例を次に示します。

与えられたハッシュ:

articlesByMonth = {'2014-07': [{id: 1, title: 'foo'}, {id: 2, title: 'bar'}]}

テンプレートと組み合わせる:

<ul>
  <% _.each articlesByMonth, (articles, month) =>: %>
    <%= month %>
    <ul>
      <% _.each articles, (article) =>: %>
        <li><%= article.title %></li>
      <% end %>
    </ul>
  <% end %>
</ul>
于 2014-07-05T09:59:05.580 に答える