Underscore.js のtemplateメソッドは、ループできるのか?

配列のjsonを渡して、連続処理させたい

http://underscorejs.org/#template

var list = "<% _.each(people, function(name) { %> <li><%= name %></li> <% }); %>";
_.template(list, {people : ['moe', 'curly', 'larry']});
=> "<li>moe</li><li>curly</li><li>larry</li>"

こんな感じでループ処理できる。

配列の下にハッシュ構造のデータはループできるか?

実装

  var tmpl = '<% _.each(tags.split(","), function(tag) { %> <span class="label"><%= tag %></span> <% }); %>';
  this.template = _.template(tmpl);
  • tagsは、カンマ区切りの文字列だから、splitしてやることによっていける