Поэтому я думаю, что this
передается как способ поддерживать правильную ссылку на this
которая должна быть в представлении. Хотя я не уверен. Вот код.
SomeView = Backbone.View.extend({
getView: function(){
return this.modelView;
},
this.collection.each(function(item){
var ViewType = this.getModelView(item);
}, this);
});
Итак, последнее, что после запятой для чего? Должно быть, чтобы поддерживать ссылку на правильное это, но я не мог найти ничего, что дало бы хорошее описание того, что это было и как оно работает. Спасибо за любую помощь.
Контекст "this" является динамическим в javascript. Это означает, что "это" означает что-то другое, когда вы находитесь в каждом цикле. Путь вокруг этой рекламы
SomeView = Backbone.View.extend({
var self = this;
getView: function(){
return this.modelView;
},
this.collection.each(function(item){
var ViewType = self.getModelView(item);
}, this);
});
вам может потребоваться разместить var self = это в другом месте в зависимости от объема вашей функции
this
в обратном вызовеeach()
будет ссылаться на объект, переданный как параметр context