Ext.define(字符串的className,對象數據,功能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文件中,以後,在製作過程中,您將在一個縮小的.js文件中創建一個class.js文件,並將所有類都放在一起!
您可以定義一個類,然後說:
items: Ext.create("My.computer.NoteBook",{
...
})
非常感謝,我明白第一部分,雖然沒有真正得到第二個,但我可以使用'var panel1 = Ext.create('Ext.app.myPanel',{title:'panel 1', height:350});'然後在我的標籤中調用它,就像'items:[panel1]'一樣。我已經設法做到了這一點,並定義了一個面板和簡單的網格,**我的問題是內部的減薄變量和函數,就像[網格過濾示例](http://dev.sencha.com/deploy/) ext-4.0.1/examples/grid-filtering/grid-filter-local.html)我怎樣才能在ext.define單獨的腳本中做同樣的事情? – Armance 2011-06-09 10:10:28
你可以在課堂上定義你的視圖,所有的方法和屬性,然後在項目中創建一個實例。你必須在某個地方創建一個實例。 – 2011-06-09 12:02:31
謝謝,我可以稱它沒有問題,但定義它是問題..我得到的錯誤,你會看看我的其他[後](http://stackoverflow.com/questions/6292214/uncaught-typeerror-cannot -call-method-insert-of-undefined) – Armance 2011-06-09 12:04:44