带有主干的下划线模板中的嵌套循环

时间:2014-10-23 21:16:51

标签: javascript backbone.js underscore.js underscore.js-templating

我正在使用下划线来进行骨干模板化,而且我有一些模型集合,我正在传递给我的下划线模板。我正在尝试遍历集合模型中的一系列对象,然后遍历每个模型中的对象数组。我试过这样做:

<% _.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>

            <% }); %>

但当然这不对。我只是不确定如何获取集合的模型属性,然后获取该属性的数组。这是我的数据结构:

enter image description here

第二个过滤器数组是我试图通过的嵌套循环。知道怎么写这个吗?还尝试嵌套每个语句:

<% _.each(filter.get('filter'), function(filterOption,i){ %>
  <%= i %>
<% }); %>

1 个答案:

答案 0 :(得分:1)

如果我理解你的话,那么:

你不应该按原样发送查看骨干模型,你应该将它们发送到jSON()。,例如:

_.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>
<% }); %>