Backbonejs -collection未定义

时间:2016-01-07 16:27:21

标签: backbone.js backbone-collections

我收集的主干中没有定义错误。

var CategoryList = Backbone.View.extend({
    el:'#content',
    render: function() {
        var that = this;
        var cats = new Categories();
        cats.fetch({
            success: function(cats) {
                var template = _.template($('#category-list-template').html(), {cats: cats.models});
                cats.each(function(it) {
                    console.log(it.toJSON());
                });
                that.$el.html(template);
            }
        })
    }
});

在这个脚本中,我正在运行每个循环来向表中添加数据,但我得到的是“猫未定义错误”。

<script type="text/template" id="category-list-template">

           <table class="table striped">
           <thead>
           <tr>
           <td>Id</td>
           <td>Name</td>
           </tr>
           </thead>
           <tbody>
           <% _.each(cats, function(category) { %>
            <tr>
            <td><%= category.name %>    </td>
            </tr>
           <% }); %>
           </tbody>

           </table>

    </script>

1 个答案:

答案 0 :(得分:0)

您必须使用toJSON方法将集合转换为纯JavaScript对象。

var template = _.template($('#category-list-template').text());
var result = template({collection: cats.toJSON()});
that.$el.html(result);