У меня действительно есть вопрос из двух частей.«this.collection.each не является функцией». Разве это не просто сказать «каждый»?
Консоль говорит мне: «TypeError: this.collection.each не является функцией»
В краткосрочной перспективе я хотел бы знать, почему мой код не работает.
В долгосрочной перспективе мне больше интересно узнать, почему он не говорит мне, что «каждый» не является функцией, поскольку это метод, который я пытаюсь вызвать.
P.S. Я подтвердил, что JQuery загружается правильно, и до того, как этот код загрузится, так что это не проблема.
Соответствующий браузер:
$(function(){
var items = [
{ name: 'Abe Lincoln', details: 'Is he that guy from that new reality show?'},
{ name: 'Captain Planet', details: 'He is our hero'},
{ name: 'Karthus', details: 'Press R'},
{ name: 'Your Mom', details: 'She misses me'},
{ name: 'Teddy Roosevelt', details: 'Makes the most interesting man in the world look boring'}
];
var itemsCollectionView = new ListView({collection: items});
Backbone.history.start();
});
var ListView = Backbone.View.extend({
el: '#the-list',
initialize: function(){
this.render();
},
render: function(){
this.collection.each(function(model){
this.addOne(model);
}, this);
},
//create an itemview for a model, and add it to the list view
addOne:function(model){
var itemView = new ItemView({model: model});
this.$el.append(itemView.render().el);
}
});
Это то, что полезно, говоря вам весь « дорожка". В чем проблема? (Также попробуйте 'forEach'.) – Ryan
Спасибо, forEach работает. Мне нужно сделать несколько исследований, чтобы узнать, почему это сработало, но не каждый. Возможно, версия JQuery, которую я использую? Кроме того, спасибо, что наполнили меня тем, почему консоль работает именно так. Не был уверен, что это было из-за того, что я сделал что-то не так, чтобы браузер интерпретировал всю вещь как метод или просто помог мне найти мою проблему. – user1937279