таблица не отображается в магистрали

У меня есть динамическая таблица, созданная следующим образом

app.View.FriendRequestTableView = Backbone.View.extend({
tagName: 'table',

className: 'table table-hover',

initialize : function(options) {
      this.options = options;
      this.render();
},
render: function() {
    $(this.el).empty();
    this.options.collection.each(function(user){
        var row = new app.View.FriendRequestRowView({model:user});
        $(this.el).append(row.el);
    });
    return $(this.el);
}
});

Я проверил и увидел, что строка построена правильно, но следующая строка не работает.

$(this.el).append(row.el);

Я также видел, что создается только элемент таблицы, но таблица пуста. Любые идеи???


person Saurabh Kumar    schedule 29.08.2013    source источник


Ответы (1)


Ссылка на «это» внутри функции итератора для this.options.collections.each, вероятно, является ссылкой на окно, если я не ошибаюсь. Создание явной ссылки на ваше представление, которую может использовать функция итератора, должно решить вашу проблему.

$(this.el).empty();
var _this = this;
this.options.collection.each(function(user){
    var row = new app.View.FriendRequestRowView({model:user});
    $(_this.el).append(row.el);
});
return $(this.el);
person Nathan Harkenrider    schedule 29.08.2013