我目前是 Backbone JS 的新手。在学习将数据传递给视图时,我遇到了以下错误。我试图解决问题但仍然面临问题。
第一个代码工作正常但下面提到的不同示例的相同代码给我错误
未捕获的类型错误:this.model.each 不是函数。
var Song = Backbone.Model.extend();
var Songs = Backbone.Collection.extend({
model:Song
});
var SongView = Backbone.View.extend({
tagName:"li",
render: function(){
this.$el.html(this.model.get("Title"));
return this;
}
});
var SongsView = Backbone.View.extend({
tagName:"li",
render: function(){
var self = this;
this.model.each(function(song){
var songView = new SongView({model:song});
self.$el.append(songView.render().$el);
})
}
})
var songs = new Songs([
new Song({Title:"Alone", Artis:"Alan Walker"}),
new Song({Title:"Faded", Artis:"Alan Walker"}),
new Song({Title:"Lost Control", Artis:"Alan Walker"})
])
var songsView = new SongsView({
el:"#container",
model:songs
})
songsView.render();
下面提到的代码抛出错误。两个代码具有相同的结构,但我仍然收到此错误。
var Vehicle = Backbone.Model.extend();
var Vehicles = Backbone.Collection.extend({
model:Vehicle
});
var VehicleView = Backbone.View.extend({
tagName:"li",
render: function(){
this.$el.html(this.model.get("Type"));
return this;
}
});
var VehiclesView = Backbone.View.extend({
tagName:"li",
render: function(){
var self = this;
this.model.each(function(vehicle){
var vehicleView = new VehicleView({model:vehicle});
self.$el.append(vehicleView.render().$el);
})
}
})
var vehicles = new Vehicle([
new Vehicle({Type:"Car"}),
new Vehicle({Type:"Bike"}),
new Vehicle({Tyep:"Bus"})
])
var vehiclesView = new VehiclesView({el:"#vehicle-container", model:vehicles});
vehiclesView.render();