Ext.define (String className, Данные объекта, Функция creatFn): Ext.Base
Ext.define is used to define a class. Example:
// creates My.computer.NoteBook Class
Ext.define('My.computer.NoteBook', {
extend:'Ext.panel.Panel',
config: {
hardware:'Dell',
os:'Linux',
price:500
},
constructor:function(config) {
this.initConfig(config);
return this;
}
});
// creates instance of My.computer.NoteBook Class
var myComputer = Ext.create('My.computer.NoteBook', {
hardware:'MacBook Pro',
os:'Mac OS X',
price:1800
});
так, с Ext.define вы создаете форму, которую вы можете использовать позже во многих случаях. Вы можете определить ширину, высоту, id, css, поэтому позже вы просто вызовете этот шаблон / класс. В вашем случае вы можете определить класс для каждой вкладки, а затем, когда вы создаете функцию для открытия / создания этой вкладки, вы можете сказать:
if(existingTab){
mainPanel.setActiveTab(existingTab);
}else{
mainPanel.add(Ext.create('My.computer.NoteBook', {id:tabId})).show();
}
...
Вы можете поместить каждый класс в отдельный файл .js, позже, на производстве, вы создадите class.js со всеми классами в одном уменьшенном файле .js!
Вы можете определить класс и затем сказать:
items: Ext.create("My.computer.NoteBook",{
...
})