Backbonejs -коллекция не определена

Я получаю коллекцию не определена ошибка в магистрали.

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 ответ

Решение

Вы должны преобразовать коллекцию в обычный объект JavaScript, используя toJSON метод.

var template = _.template($('#category-list-template').text());
var result = template({collection: cats.toJSON()});
that.$el.html(result);
Другие вопросы по тегам