我正在使用下划线作为主干模板,并且我有一组要传递给下划线模板的模型。我试图循环遍历集合模型中的一系列对象,然后循环遍历每个模型中的对象数组。我尝试这样做:
<% _.each(filters, function(filter,i){ %>
<div class="filter <%= filter.get('title') %>" data-id="<%= i %>">
<div class="filter-options-container">
<% var filterOptions = filter.get('filter'); for(var filterOption in filterOptions) { %>
<%= filterOption.id %>
<% } %>
</div>
</div>
<% }); %>
但这当然是不对的。我只是不确定如何获取集合的模型属性,然后获取该属性的数组。这是我的数据结构:
第二个过滤器数组是我要经历的嵌套循环。知道如何写出来吗?还尝试嵌套每个语句:
<% _.each(filter.get('filter'), function(filterOption,i){ %>
<%= i %>
<% }); %>
最佳答案
如果我理解正确,那么:
您不应该按原样发送查看主干模型,您应该将它们作为 toJSON() 发送。
例如:
_.template(tmpl_string)({filters : yourCollection.toJSON()});
模板示例:
<% _.each(filters, function(filter,i){ %>
<div class="filter <%= filter.title %>" data-id="<%= i %>">
<div class="filter-options-container">
<%= _.pluck(filter.filters, 'id').join(', ') %>
</div>
</div>
<% }); %>
关于javascript - 带 Backbone 的下划线模板中的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537634/