解壓有20多兆,別怕,真正執行的沒這麼大。認識下這個包的檔案結構吧。
1.類的命名規範
2、原始檔的命名規則
3、方法和變數的命名規則
4、屬性的命名規則
onready:只有在ext框架全部載入完後才能在客戶端的**中使用ext,而ext的onready正是用來註冊在ext框架及頁面的html**載入完後,所要執行的函式。
呼叫onready方法時可以帶三個引數,
第乙個引數是必須的,表示要執行的函式或匿名函式,
第二引數表示函式的作用域,
第三個引數表示函式執行的一些其它特性,比如延遲多少毫秒執行等,大多數情況下只需要第乙個引數即可。
define:建立類,可以繼承其他類,也可以被繼承
ext.onready(function() );
//例項化類
var textclass = new
textclass();
//輸出屬性名
ext.msg.alert('類屬性', textclass.a + " " + textclass.b); //
textclass.a結果為a,textclass.b結果為b
});
ext.onready(function() );
//建立乙個類,繼承textclass
ext.define("textclass2", )
var textclass2 = new
textclass2();
ext.msg.alert("textclass2屬性", textclass2.a + " " + textclass2.b + " " + textclass2.c) //
輸出結果為 a b c
});
create:例項化類,在extjs4中建議用create方法例項化類
ext.onready(function() );
var textclass = ext.create("textclass")
ext.msg.alert('textclass屬性', textclass.a + ' ' + textclass.b) //
輸出結果為 a b
});
extjs物件導向 這文中有介紹。
ext.onready(function() });
var textclass = ext.create("textclass", )
ext.msg.alert('textclass屬性', textclass.a + ' ' + textclass.b + ' ' + textclass.c) //
顯示 : a b c
});
ext.onready(function() });
var textclass = ext.create("textclass", )
ext.msg.alert('textclass屬性', textclass.a + ' ' + textclass.b + ' ' + textclass.c) //
顯示 a b c
});
mixins:類似於物件導向中的多繼承
ext.onready(function() );
//建立乙個類,類名:textclass,具有兩個屬性:a、b
ext.define('textclass2',
})ext.define('textclass3',
})var textclass = ext.create("textclass3")
textclass.write();
//顯示結果:a:a;b:b;c:c
});
statics:
定義靜態變數
ext.onready(function() });
//沒有例項化textclass類
ext.msg.alert('textclass類的靜態屬性c的值是:', textclass.c) //
顯示結果:c
});
config:屬性包裝器,為屬性提供get和set方法
ext.onready(function() ,
config:
});var textclass = ext.create('textclass');
//通過set方法設定屬性的值,注意,包裝器會把屬性的頭字母大寫
textclass.setconfigproperty("set this property's value");
//通過get方法展示屬性值
ext.msg.alert('configproperty屬性的值是:', textclass.getconfigproperty()); //
顯示結果:set this property's value
});
require:動態載入js檔案,這個頁面需要用到哪些元件,然後就預先載入,多餘不用載入的元件就不管他.提高執行速度.一般寫在指令碼開始的地方。
ext.require(['ext.tab.*',
'ext.window.*',
'ext.tip.*',
'ext.layout.container.border']);
ext物件分為3種:htm控制項,extjs元素,extjs元件(html控制項--封裝-->extjs元素--封裝-->extjs元件)
1、ext.getdom和ext.get方法
輸入框1:輸入框2:
輸入框3:
2、ext.getcmp方法
3、通過css語法選擇ext元件
4、up、down、child方法
up:根據css語法獲取當前元件上層的控制項,如果有多個符合條件,只返回第乙個
down:根據css語法獲取當前元件下層的控制項,如果有多個符合條件,只返回第乙個
child:根據css語法獲取當前元件下一層的控制項,如果有多個符合條件,只返回第乙個
up方法:
//獲取屬性name為telephone的textfield元件
var t = ext.componentquery.query("textfield[name=telephone]")[0]
//獲取元件t上面的第乙個panel元件
t.up("panel");
child方法:
//獲取屬性title為"第二個panel"的panel元件
var t = ext.componentquery.query("panel[title=第二個panel]")[0]
//獲取元件t下面一層的屬性name為「address」的textfield元件
t.child("textfield[name=address]");
down方法:
//獲取屬性title為"第二個panel"的panel元件
var t = ext.componentquery.query("panel[title=第二個panel]")[0]
//獲取元件t下面一層的屬性name為「address」的textfield元件
//注意,用child方法時無法取到了,因為child方法只能取元件t下面一層的控制項
t.down("textfield[name=telephone]");
ExtJs4 問題總結
在用到ext grid的時候,如果後台計算量大或者返回的資料量過大導致載入資料時間超時,時間超時後會發現grid沒有資料顯示。解決的方法是把超時的時間設定大點,ext的ajax預設請求都是30秒。設定方法如下 ext.ajax.timeout 90000 一秒 1000毫秒。上面設定是把timeou...
學習Extjs4心得
其實,學習extjs4的過程中,經常的檢視api。因為一開始接觸這個,所以一開始不會檢視api,但後來玩久了,也就能夠很熟練的玩了。其實,不管事什麼開發語言還是框架,學會檢視api是我們必須要做的事 在開發過程中,最糾結的就是除錯,我用的是firefox,裡面有個firebug,是除錯js的神器,可...
EXTJS4前端優化
例如快取getelementbyid 的結果 編譯查詢表示式之類的東西,這個純看js功力。2.4 可能的話,讓使用者換個瀏覽器吧 chrome比ie的js渲染快是數量級上的差異!構造乙個40列,50行的複雜gridpanel試試,你就會深有體會了 對於企業內部的mis系統,換瀏覽器還是具有可能性的。...