मैं backbone.js सीख रहा हूँ, और इस पर उलझन में: http://arturadib.com/hello-backbonejs/मुझे Backbone.js में _.bindAll() का उपयोग करने की आवश्यकता कब होगी?
के रूप में आप पहले उदाहरण में देख सकते हैं (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
) अनुपलब्ध होने पर भी कोई मुझे समझा सकता है?
कुछ भी बैकबोन, एफवाईआई द्वारा स्वचालित रूप से बाध्य है। –
बहुत अच्छी व्याख्या, महान काम – M3ghana