У меня есть этот вид сбораПочему моя модель не пройдет?
define([
'jquery',
'underscore',
'backbone',
'views/project',
'collections/project-collection',
'templates'
], function ($, _, Backbone, ProjectView, ProjectCollection, JST) {
'use strict';
var ProjectListView = Backbone.View.extend({
template: JST['app/scripts/templates/projectList.ejs'],
el: $('#content'),
render: function() {
var projectCollection = new ProjectCollection();
projectCollection.fetch();
projectCollection.each(this.addOne(),this);
return this;
},
addOne: function(project) {
console.log('addOne function');
var projectView = new ProjectView({model: project});
this.$el.html(projectView.render().el);
}
});
return ProjectListView;
});
Независимо от того, что я пытаюсь модель никогда не пропускается через функцию AddOne поэтому в представлении, что конкретизируется с помощью этого метода вызова
this.model.toJSON()
приводит к тому, что старый метод «не может вызывать метод .toJSON неопределенной». Я попытался вставить коллекцию, когда это представление коллекции было создано, и это тоже не сработало. Очевидно, что он находится в массиве зависимостей, и это тоже не работает. Модель, безусловно, существует, так как я могу записывать projectCollection.model в консоль внутри функции рендеринга. Я в тупике.
Я думал, что это что-то в этом роде. Я попытался связать .then(), чтобы получить, и это не сработало. Это полностью работает, спасибо. Я с подозрением относился к тому, что у меня не было подходящего контекста, но на самом деле я не понимаю все, что я знаю о контексте и закрытии. – pelachile