0

underscore.js テンプレートを使用して "this" (またはテンプレートに渡されるデータ オブジェクト) を反復するにはどうすればよいですか? たとえば、次のようなデータ オブジェクトをテンプレートに渡すとします。

obj = {name: "ben", description: "funny looking"}

var template = _.template("<ul> <% _.each(this, function(x, y){ print('<li>'+x+'<li>')}) %> </ul>"); 

var compiled = template(obj); 

イテレータの "this" が (Handlebars のように) データ オブジェクトをループすることを期待していますが、機能していません。通常は <%= name %> をテンプレートに直接入力しますが、この場合、オブジェクト キーは動的に決定されます。

これを行う方法についてのアイデアはありますか?ありがとう!

4

1 に答える 1

0

簡単な解決策は次のとおりです。

var compiled = template({data:obj}); 

そして、「データ」を反復するだけです

于 2012-06-04T22:15:36.063 に答える