проблема загрузки + магистральных событий

У меня есть настройка загрузки нескольких файлов с помощью:

'onComplete' : function(event, ID, fileObj, response, data) {
    myCollection.add({params parsed from response json});
}

который запускает (через this.collection.bind('add', this.add)) этот метод представления коллекции:

add: function(obj) {
    var view = new MyModelView({model: obj});
    this.$('.insert-models-here').append(view.render().el);
    return this;
},

Вызов new MyModelView вызывает: MyModelView::initialize(), который находится здесь:

initialize: function() {
    var t = $('#photo-template').html();
    this.template = _.template(t);
    this.model.view = this;
},

И каждый вызов _.template() переходит внутрь метода __flash__toXML(), из которого останавливается весь поток. В результате в мою коллекцию не добавляется ни одна модель из любого события загрузки.

Кто-нибудь знает, почему и как этого избежать?


person palmic    schedule 19.07.2011    source источник


Ответы (1)


Хорошо, я нашел решение.

Проблема заключалась в использовании подчеркивания в событиях загрузки, поэтому я заменил подчеркивание _.templates на icanhaz и переписал метод просмотра коллекции add(). таким образом, чтобы обойти любую функцию подчеркивания:

    add: function(obj) {
        var view = new MyModelView({model: obj});
        $('.insert-models-here').first().append(view.render().el);
        return this;
    },

Надеюсь, в будущем кто-нибудь назовет мое имя..

person palmic    schedule 19.07.2011