सबसे पहले, मेरा सवाल यह है कि मैं जानना चाहता हूं कि Ext.Define() और Ext.Create(), के बीच कितना अलग है और मैं जानना चाहता हूं कि इसका उपयोग कैसे करें उन्हें सही तरीके से।Extjs4 एमवीसी, Ext.define() और Ext.create()
मैं अपने कोड और कई Extjs4 MVC ट्यूटोरियल,
की समीक्षा की और मैं Extjs4 MVC परियोजना में कई कई Ext.define() पद्धतियों पाया।
मैं समझता हूं Ext.define() विधि एक ऑब्जेक्ट (क्लास) बनाते हैं।
और यदि मुझे उदाहरण के लिए केवल एक पैनल की आवश्यकता है, तो मैं पैनल की कोई विरासत नहीं बनाउंगा, मैं भी आरंभ करने के बाद पैनल का पुन: उपयोग नहीं करूंगा।
फिर, मुझे लगता है कि मुझे Ext.define() के बजाय Ext.create() का उपयोग करने की आवश्यकता है।
तो, मैं अपना कोड @। @ बदलने की कोशिश करता हूं;
ध्यान में रखते हुए यह
Ext.Define("App.view.MyGrid",{
extend : 'Ext.grid.panel',
alias : 'widget.MyGrid',
initComponent : function(){
this.columns : [{ header: 'column' }];
this.store : Ext.create('Ext.data.ArrayStore', {})
}
});
था और मैं करने के लिए बदलने के लिए,
var myGrid = Ext.create('Ext.grid.Panel', {
layout: 'fit',
border: false,
columns: [{ header: 'column' }],
store: Ext.create('Ext.data.ArrayStore', {})
});
परिवर्तन के बाद कोड, मैं एक समस्या यह है कि मैं प्राप्त नहीं कर सकता (ग्रेप) नियंत्रक में पैनल है,
इससे पहले कि मैं पहले इस तरह किया था,
refs: [
{
ref: 'myGrid',
selector: '',
xtype: 'MyGrid', //view - alias
autoCreate: true
}
]
this.getMyGrid();
लेकिन परिवर्तन के बाद, मुझे नहीं पता कि उस पैनल को नियंत्रक में कैसे पुनर्प्राप्त किया जाए।
और इसे खोजने के लिए वेब खोजते समय, मुझे आश्चर्य है कि 'क्या यह सही है कि मैं Ext.define() और Ext.create() के बारे में कैसे समझता हूं? और क्यों कई लोग Ext.define() विधि का उपयोग कर रहे हैं, फिर भी वे विरासत के लिए फिर से उपयोग नहीं करते हैं? '
कृपया मुझे एक्स्टजे के मूलभूत सिद्धांतों को समझने के लिए सलाह दें।
धन्यवाद!