javascript - 带 Backbone 的下划线模板中的嵌套循环

标签 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 %>
<% }); %>

最佳答案

如果我理解正确,那么:

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

相关文章:

javascript - 在鼠标悬停/悬停期间仅从特定文本段落中获取数字

javascript - 创建动态元素列表并根据用户订阅显示元素

javascript - 动态更新模态 backbone.js 的 css

html - 将 tr 标签与 div 分组真的是个坏主意吗?

javascript - 如何组合具有相同键的两个对象并保留该键的两个值

javascript - 如何从无限生成器创建有限长度生成器

javascript - jquery Accordion 切换的加减号

jquery - 在 Backbone 渲染方法中调用 jQuery 插件

Javascript 添加缺失天数时间序列结果

javascript - 大数字打破 underscore.js _.contains