解説
HandlebarsはJSのテンプレートエンジンであらかじめいくつかの機能を提供してくれているが、
いろいろなデータを出力しようとするとどうしても足りない機能が出てくる。そんな時にはHelperを自分で作る必要がある。
ということで配列をそのまま順に出力させるHelperを作ってみた。
コード
/** * 配列を扱う */ Handlebars.registerHelper('array', function(context, options) { var ret = ''; for(var i=0, j=context.length; i<j; i++) { //名前がないと取り出せないので'var'という名前を持つオブジェクトにして扱う ret = ret + options.fn({'val':context[i]}); } return ret; });
使い方
//サンプルデータ var alpha = ['a','b','c','d','e']; //テンプレート側 <ul> {{#array alpha}} <li>{{var}}</li> {{/array}} </ul>