我有这个集合视图
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 记录到渲染函数内的控制台。我难住了。