var Text = Backbone.Model.extend({});
Texts = Backbone.Collection.extend({
model: Text,
url: '/data.json',
});
var TextsView = Backbone.View.extend({
initialize: function() {
_.bindAll(this);
this.render();
},
el: "#Texts",
template: _.template($('#TextTemplate').html()),
render: function(e){
_.each(this.model.models, function(Text){
var TextTemplate = this.template(Text.toJSON());
$(this.el).append(TextTemplate);
}, this);
return this;
}
})
var Texts = new Texts();
Texts.fetch();
var TextView = new TextsView({collection: Texts});
這給我Uncaught TypeError: Cannot read property 'models' of undefined
並且不在頁面上顯示任何內容。backbone:渲染此集合
在我看來,它應該是'this.collection.models'。 – dfsq
他使用Backbone,所以'this.collection'指的是他創建的'Texts'集合。這應該使循環工作,但我想你可以直接使用'this.collection.models'來訪問模型。不知道。有趣。 – Gohn67
其實你是對的@dfsq。如果你使用每個方法的下劃線,那麼你確實需要使用'this.collection.models'。最近一定改變了。無論如何改變它使用集合上的每個方法。 – Gohn67