मेरे पास ExtJS में एकाधिक विरासत के संबंध में एक प्रश्न है। जबकि मुझे पता है कि मैं ऐसा करने के लिए कोड को डुप्लिकेट कर सकता हूं, लेकिन मैं जानना चाहता हूं कि इसे और अधिक कुशलता से कोड करने का कोई तरीका है या नहीं।एकाधिक विरासत Extzs?
मेरे पास Kore.ux.grid.GridPanel
नामक मेरे ढांचे में GridPanel
घटक अनुकूलित किया गया है। यह अतिरिक्त सामान्य कार्यक्षमताओं के साथ Ext.GridPanel
बढ़ाता है और आरईएसटी कार्यों के लिए इंटरफ़ेस प्रदान करता है।
जल्द ही, मेरे सहयोगी EditorGridPanel
को उसी तरीके से लागू करने के लिए चाहते थे, यानी, वह संपादन योग्य होना चाहती है, और साथ ही, आरईएसटी कार्यों को आसानी से करने की क्षमता है।
मेरा सवाल यह है कि, क्या कार्यात्मकताओं को अनुकूलित करने के लिए मैं Ext.EditorGridPanel
का विस्तार कर सकता हूं?
किसी भी व्याकरण त्रुटियों के लिए खेद है और यदि यह भ्रमित हो रहा है तो मैं इसे फिर से बदल सकता हूं। धन्यवाद!!
संपादित
मैं फिर से googled, और मैं कह रहा यह नामुमकिन है धागे पाया। क्या मुझे कोई समस्या है तो मुझे कोई बेहतर कोडिंग पैटर्न का पालन करना चाहिए?
धन्यवाद!
संपादित करें पर दोबारा
तो खेद मैं संरचना है कि मुझे सूट पाया .. यहाँ विधि मैं मेरे लिए उपयोगी पाया है:
var Common = function(){} //abstract class
Ext.apply(Common.prototype, {
a : function(){},
b: function(){}...
});
Ext.ux.SomePanelA = Ext.extend (Ext.Panel, {
stuff : ............
});
Ext.ux.SomePanelB = Ext.extend (Ext.Panel, {
diffStuff : ............
});
Ext.applyIf(Ext.ux.SomePanelA.prototype, Common.prototype);
Ext.apply(Ext.ux.SomePanelB.prototype, Common.prototype);
कोड स्रोत: http://www.sencha.com/forum/showthread.php?48000-multiple-inheritance&p=228271&viewfull=1#post228271
फिर से करें यदि आपको लगता है कि आपके पास बेहतर समाधान है तो उपयोगी सुझाव प्रदान करें :) धन्यवाद!
प्लगइन! मैं इसका अस्तित्व क्यों भूल जाता हूं !! सुझाव के लिए धन्यवाद :) देखेंगे कि मैं इसे ढांचे में कैसे शामिल करूंगा।धन्यवाद :) –
लेकिन यह मेरे मामले के अनुरूप नहीं हो सकता है क्योंकि मेरा कस्टमाइज्ड ग्रिडपैनल अनुकूलित पेजिंग टुलबार, पूर्वनिर्धारित बटन, खोज बॉक्स, आरईएसटी ... आदि प्रदान करता है। प्लगइन रास्ता नहीं हो सकता है :) वैसे भी सुझाव के लिए धन्यवाद! –
क्यों नहीं? आप इन कार्यक्षमताओं को अपनी कार्यक्षमता को बाध्य करने के लिए प्लगइन के भीतर से इन कस्टम घटकों तक पहुंच सकते हैं। आखिरकार, प्लगइन क्या करता है वास्तव में 'Ext.apply()' बस जिस तरह से आप इसे करते हैं। यह सिर्फ इसके लिए थोड़ा अधिक मजबूत और उपयोग करने में आसान एपीआई जोड़ता है। – Mchl