Я изучаю backbone.js и чувствую смущение этим: Я следую руководству: http://arturadib.com/hello-backbonejs/
как вы можете видеть в первом примере (1.js):
(function($){
var ListView = Backbone.View.extend({
el: $('body'), // attaches `this.el` to an existing element.
initialize: function(){
_.bindAll(this, 'render'); // fixes loss of context for 'this' within methods
this.render(); // not all views are self-rendering. This one is.
},
render: function(){
$(this.el).append("<ul> <li>hello world</li> </ul>");
}
});
var listView = new ListView();
})(jQuery);
Но если я прокомментирую предложение: _.bindAll(this, 'render');
, это все равно будет работать. Я искал в google, и кто-то сказал, что метод bindAll()
необходим, так как если бы я переключил свой контекст, вызов this.render
может быть недоступен. Я чувствую смущение от "контекста". а также может ли кто-нибудь объяснить мне, когда вызов (this.render
) будет недоступен?