【问题标题】:Nested loops in underscore templates with backbone具有主干的下划线模板中的嵌套循环
【发布时间】:2014-10-23 21:16:51
【问题描述】:

我将下划线用于主干模板,并且我有一组模型要传递给我的下划线模板。我试图遍历集合模型中的一系列对象,然后遍历每个模型中的对象数组。我试过这样做:

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

【问题讨论】:

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


    【解决方案1】:

    如果我没听错,那么:

    您不应该按原样发送查看主干模型,您应该将它们发送为 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>
    <% }); %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多