मेरी वर्तमान परियोजना में मैं ExtJs3.3 का उपयोग कर रहा हूं।
मैंने कई कक्षाएं बनाई हैं जिनमें निजी चर और कार्य थे। उदाहरण के लिए:निजी फ़ंक्शन और वेरिएबल्स ExtJs4?
MyPanel = function(config){
config = config || {};
var bar = 'bar';//private variable
function getBar(){//public function
return bar;
}
function foo(){
//private function
}
Ext.apply(config, {
title: 'Panel',
layout: 'border',
id: 'myPanel',
closable: 'true',
items: []
});
MyPanel.superclass.constructor.call(this, config);
};
Ext.extend(MyPanel , Ext.Panel, {
bar: getBar
});
Ext.reg('MyPanel', MyPanel);
मैं समझता हूँ कि ExtJs4 में काम करने के नए रास्ते Ext.define
विधि का उपयोग करने के लिए है। तो जैसा कि कोड के अपने ऊपर टुकड़ा कुछ इस तरह दिखेगा:
Ext.define('MyPanel', {
extend: 'Ext.panel.Panel',
title: 'Panel',
layout: 'border',
closable: true,
constructor: function(config) {
this.callParent(arguments);
},
});
तो क्या मैं जानना चाहता हूँ मैं निजी चर और ExtJs4 में कार्यों तरह से मैं ExtJs3 में यह किया के समान कैसे परिभाषित कर सकते हैं?
दूसरे शब्दों में मैं समझता हूं कि Ext.define
विधि मेरी नई कक्षा को परिभाषित करने, विस्तार करने और पंजीकरण करने का ख्याल रखेगी, लेकिन मुझे जावास्क्रिप्ट var
कहां घोषित करना चाहिए जो वर्ग के गुण नहीं हैं बल्कि कक्षा द्वारा इसकी आवश्यकता है।
MyPanel = function(config){
//In my Ext3.3 examples I was able to declare any javascript functions and vars here.
//In what way should I accomplish this in ExtJs4.
var store = new Ext.data.Store();
function foo(){
}
MyPanel.superclass.constructor.call(this, config);
};
आप इस @Rob पर विस्तार कर सकते हैं? मुझे [सेन्का मंच] पर बहुत अधिक समर्थन नहीं मिल रहा है (http://www.sencha.com/forum/showthread.php?245130- अंतर्दृष्टि-Ext-JS-4)। मैं अपने कार्यान्वयन के समान कुछ ढूंढने की उम्मीद कर रहा हूं (2012-05-31 पर किए गए प्रश्न अपडेट देखें) -> http://stackoverflow.com/questions/9104387/extjs-javascript- मॉड्यूल- डिज़ाइन-pattern-best-practices – blong
हाय, मैं नीचे दी गई टिप्पणी से सहमत हूं कि कॉन्फ़िगर ऑब्जेक्ट का उपयोग ExtJS 4 या सेन्चा टच 2 का उपयोग करते समय आप चाहते हैं। कॉन्फ़िगरेशन आंतरिक चर और स्वचालित रूप से गेटर और सेटटर बनाता है। मैं उन्हें "आंतरिक चर" कह रहा हूं क्योंकि वे बिल्कुल "निजी" नहीं हैं। ऑब्जेक्ट में चारों ओर खुदाई करते समय आप उन्हें बदल सकेंगे लेकिन आपको एक प्रयास करना होगा :) जब आप कोई जटिल एप्लीकेशन बना रहे हैं तो मैं दृढ़ता से रखरखाव के लिए मैन्युअल परिभाषाओं के बजाय सेन्चा एमवीसी संरचना का उपयोग करने की सिफारिश करता हूं। शुभकामनाएँ –
इस तरह कुछ के बारे में क्या: http://stackoverflow.com/a/6023603/320399। मैं उदाहरणों के लिए अद्वितीय उदाहरणों और निजी सदस्य चर के बीच साझा निजी कार्यों को देने के लिए 'Ext.define' को अनुकूलित करने की कोशिश कर रहा हूं। – blong