Backbone の collection.each() メソッドを使用しようとすると、次のメッセージが表示されます。
TypeError: オブジェクト関数 (){ return parent.apply(this, 引数); } にはメソッド 'each' がありません。
Jeffrey Way のチュートリアルから Backbone を学んでいます。彼と同じコードを入力したのですが、なぜかうまくいきません。
var Person = Backbone.Model.extend({
defaults: {
name: 'besim dauti',
age: 15,
occupation: 'web developer'
}
});
var PeopleView = Backbone.View.extend({
tagName: 'ul',
render: function(){
this.collection.each(function(person) {
var personView = new PersonView({ model: person });
this.$el.append(personView.render().el)
}, this)
return this;
}
});
var PersonView = Backbone.View.extend({
tagName: 'li',
template: _.template( $('#personTemplate').html() ),
render: function(){
this.$el.html(this.template(this.model.toJSON()) );
return this;
}
});
var PeopleCollection = Backbone.Collection.extend({
model: Person
});
var peopleCollection = new PeopleCollection([
{
name: 'besim',
age: 25,
occupation: 'web developer'
},
{
name: 'gaurav',
age: 25,
occupation: 'web designer'
},
{
name: 'jeffry',
age: 27
}
])
var peopleView = new PeopleView ({collection: PeopleCollection});
$(document.body).append(peopleView.render().el);
.each()
関数にこの問題があるのはなぜですか? コードを同じように入力すると、Jeffrey の場合は期待どおりに機能しましたが、このエラーが表示されました。私はあなたの助けに感謝します。