2012-03-25 33 views
3

Hogan.jsを使ってオブジェクト内のキーと値を反復処理する方法はありますか?私はそのような文書化された機能を見つけることができません - 配列に対する反復のみが文書化されているようです。 hogan.js(またはその他のmoustache.js実装)のオブジェクトを繰り返し処理することもできますか?Hogan.jsのキー/値を繰り返します。

答えて

1

私は同じ状況で昨日、及びHogan.jsMustache.jsといくつかの研究の後、私はこの解決策を見つけた:

var data = { 'list' : [{ 'name' : 'dhg'}, {'name' : 'abc'}] }; 
var template = Hogan.compile("{{#list}} {{name}} {{/list}}"); 
var output = template.render(data); 
console.log(output); 

あなたがここにアクションでそれを見ることができます:http://jsfiddle.net/LuD6j/1/

4

方法はありませんHogan.js内のオブジェクトのキーと値を直接反復するには、sub_stantialがやっていることは、配列を繰り返すことです。

あなたがしたいことに応じて、プリレンダーコードが少し必要です。あなたが{ k1: "v1", k2: "v2" }であるオブジェクトoを持っていると仮定します。

var oAsList = []; 
_.each(_.keys(oAsList), function (k) { 
    oAsList.push({ key: k, value: o[k] }); 
}) 

とトリックが
{{#oAsList}} {{key}} has value {{value}}; {{/oAsList}}

あるん口ひげテンプレート:そして、あなたはあなたのレンダリングされたテンプレートが k1 has value v1; k2 has value v2;になりたい、あなただけのこの(_ underscoreライブラリです)が必要です
関連する問題