underscore.js模板,迭代“this”

时间:2012-06-04 21:59:33

标签: javascript templates backbone.js underscore.js

如何使用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中一样),但它不起作用。通常我会直接输入&lt;%= name%&gt;进入模板,但在这种情况下,对象键是动态确定的。

关于如何做到这一点的任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个简单的解决方案:

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

然后只是迭代“数据”