में this` संकल्प मैं एक मामला देखने विरासत का उपयोग करता है, और मेरे कोड अनिवार्य रूप से लग रहा है की तरह है:backbone.js विरासत देखें। `माता पिता
parentView = Backbone.View.extend({
events: {
"some event": "business"
},
initialize: function(){
_.bindAll(this);
},
business: function(e){
...
this.someFunc && this.someFunc();
...
}
});
childView = parentView.extend({
events: {
...
},
constructor: function(){
this.events = _.extend({}, parentView.prototype.events, this.events);
parentView.prototype.initialize.apply(this);
},
initialize: function(){
_.bindAll(this);
},
someFunc: function(){
...
}
});
अद्यतन: ले जाया गया निर्माता को this.events
विस्तार।
मेरे बच्चे के दृश्य में someFunc
है, और मूल दृश्य में कुछ व्यावसायिक फ़ंक्शन के दौरान, यदि यह मौजूद है तो उसे उस फ़ंक्शन को कॉल करना चाहिए। यदि this
ठीक से बच्चे दृश्य पर सेट है, तो this.someFunc
मौजूद होना चाहिए। हालांकि, यह वह व्यवहार नहीं है जिसे मैं अनुभव कर रहा हूं।
initialize
फ़ंक्शन (अभिभावक में) के दौरान, this
वास्तव में बच्चे के दृश्य पर सेट है। हालांकि, जब some event
आग, business
फ़ंक्शन को this
parentView
पर सेट किया गया है।
के बजाय __super__ का उपयोग करना पसंद है ठीक है, क्या आप मुझे parentView.prototype.initialize और parentView.constructor.in आरंभ करने के बीच अंतर बता सकते हैं? – idbentley
मैंने अपना प्रश्न अपडेट किया है: एक ही समस्या मौजूद है, यहां तक कि इस तकनीक का उपयोग भी। 'parentView.constructor.initialize' अपरिभाषित है। – idbentley
मैंने यह भी कोशिश की है: 'parentView.prototype.constructor', बिना किस्मत के। – idbentley