Ответ 1
Ext.define(String className, Object data, Function createdFn): 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",{
...
})