过滤数据传递到下划线模板

时间:2016-04-20 23:21:38

标签: underscore.js underscore.js-templating

我的页面有5个不同的标签。

我有一个包含多个对象的templateData对象。

我想在每个标签中传入templateData对象中符合特定条件的对象列表。

e.g

$("#cat-37").append(template(_.where(templateData.listItems, {cat_group: "37"})));

我的templateData对象中的示例对象

    {cat_group:"37",
skill_id:"56",
skill_title:"Neutral/Stable Position",
status:"open",
tunnel:"Denver"}

我可以让_.where()函数在外部工作,但是有一些关于模板()函数需要被绊倒的格式。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为您必须将数据作为对象传递。

//list of objects
var data = _.where(templateData.listItems, {cat_group: "37"});
$("#cat-37").append(template({data:data}));

然后在你的模板中

<script type="text/template" id="myTemplate">
<% _.each(data,function(d){ %>
    //iterate thru data and do your thing
<% }) %>
</script>