таблицата не се изобразява в backbone

Имам динамична таблица, създадена по следния начин

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" във функцията на итератора за 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