में Ext.define/Ext.extend मैं अभी सेन्चा टच 2 एमवीसी लेने शुरू कर रहा हूं। मेरे पास भारी एक्स अनुभव है, लेकिन यह एक पूरी तरह से नई दुनिया है।सेन्चा टच 2
मुझे एक दृश्य बनाने में बहुत दूर नहीं लग रहा है। मैंने इंटरनेट पर जो देखा है उसके आधार पर मैंने अपना कोड दो दिशाओं में लिया है, और न ही काम करता है।
पथ 1
मेरे app.js:
Ext.application({
name: 'BkAdmin',
views: ['LoginForm'],
launch: function() {
Ext.create('BkAdmin.view.LoginForm');
}
});
मेरा विचार/LoginForm.js:
Ext.define('BkAdmin.view.LoginForm', {
extend: 'Ext.form.FormPanel',
config: {
fullscreen: true,
initComponent: function() {
alert('yo!');
BkAdmin.view.LoginForm.superclass.initComponent.apply(this, arguments);
}
}
}
);
यह त्रुटि मुक्त लोड करता है, और मैं भी में प्रपत्र आइटम जोड़ सकते हैं विन्यास खंड। हालांकि, initComponent() को निष्पक्ष रूप से कभी नहीं बुलाया जाता है, इसलिए दृश्य पूरी तरह से लचीला है।
पथ 2
मेरे app.js:
Ext.application({
name: 'BkAdmin',
views: ['LoginForm'],
launch: function() {
BkAdmin.view.LoginForm = new BkAdmin.view.LoginForm();
}
});
मेरा विचार/LoginForm.js:
BkAdmin.view.LoginForm = Ext.extend(Ext.form.FormPanel, {
fullscreen: true,
initComponent: function() {
alert('yo!');
BkAdmin.view.LoginForm.superclass.initComponent.apply(this, arguments);
}
});
यह खुले दिल से काम नहीं करता। क्रोम रिपोर्ट 'संपत्ति सेट नहीं कर सकता' लॉगिनफॉर्म 'अपरिभाषित' ... पृथ्वी पर कैसे देखा गया अपरिभाषित? इसके अलावा, यह कहता है 'निम्नलिखित वर्गों को घोषित नहीं किया जाता है भले ही उनकी फाइलें लोड की गई हों:' BkAdmin.view.LoginForm '।' निश्चित रूप से मुझे घोषित दिखता है।
यहां कई प्रश्न हैं: मैंने उपरोक्त पथों में क्या गलत किया? मैं पथ 1 में कॉल करने के लिए initComponent() कैसे प्राप्त कर सकता हूं, और पथ 2 को काम करने के लिए प्राप्त कर सकता हूं? कौन सा कोड उद्धरण-उपयोग करने के लिए बेहतर है?
धन्यवाद!