在下划线模板中循环

时间:2014-04-17 05:19:17

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

我的JSON对象如下所示:

{
    "datas": [
        [
            {
                "time": "08:00",
                "frequency": "daily"
            },
            {
                "time": "14:00",
                "frequency": "daily"
            },
            {
                "time": "20:00",
                "frequency": "daily"
            }
        ]
    ]
}

我的下划线html看起来像这样:

<ul class="table-view">
    <% _.each(datas, function(schedule, key) { %>
    <li class="table-view-cell">
        <a href="#enter-reading/<%= key %>" 
           class="push-right"><%= schedule.time %></a>
    </li>
    <% }); %>
</ul>

这是在render上打印的整个html:

<ul class="table-view">
    <li class="table-view-cell">
        <a href="#enter-reading/0" class="push-right"></a>
    </li>
</ul>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的数据是只包含一个元素的数组 - 包含模型的数组。 您必须使用数据[0] 更新模板替换数据,或将其存储在var中并将其传递给循环

<ul class="table-view">
    <% _.each(datas[0], function(schedule, key) { %>
    <li class="table-view-cell">
        <a href="#enter-reading/<%= key %>" 
           class="push-right"><%= schedule.time %></a>
    </li>
    <% }); %>
</ul>