This tutorial предполагает, что мы должны сделать _.bindAll
, чтобы получить правильное значение this
в наших функциях. Кажется, что _.bindAll
больше не требуется с Магистралью. Следующий код регистрирует ту же вещь дважды:Имеет ли позвоночник _.bindВсе по умолчанию?
var TestView = Backbone.View.extend({
initialize: function() { _.bindAll(this, 'func1'); },
func1: function() { console.log(this); },
func2: function() { console.log(this); }
});
var testView = new TestView();
testView.func1();
testView.func2();
Я правильно предполагая, что bindAll
больше не требуется, или я просто сделать глупую ошибку?
'testView.func1();' не является хорошим тестовым примером, попробуйте его с некоторыми «событиями», чтобы узнать, что произойдет. [Официальные документы все еще говорят о 'bindAll'] (http://documentcloud.github.com/backbone/#FAQ-this), и я ничего не вижу в журнале изменений о привязке, которая больше не нужна. –
Ваш пример будет работать без '_.bindAll', вам нужно использовать одну из функций в качестве обработчика события, чтобы увидеть эффект привязки. – Cobby