1. 程式人生 > >關於ExtJS3.1與ExtJS4.2的區別

關於ExtJS3.1與ExtJS4.2的區別

1.可以使用alias來為元件新增別名,類似以前的Ext.reg,不過alias會用不同的類別區分開來,例如,widget.xxxxx和feature.xxxxx是不一樣的,雖然它們都是用alias來定義的,但是類別完全不同。 
2.包和名稱空間的改變 
現在的ExtJS不再使用混亂的分包機制(其實以前的感覺更加直白),例如以前的Window,包名是Ext.Window,但是現在則是Ext.window.Window,Ext.window包下還包括了Ext.window.MessageBox等。SplitButton則是Ext.button.Split。 
3.建立新物件
現在ExtJS使用Ext.define函式來建立元件類,該函式還能實現自動載入js類(uses屬性,需設定Ext.Loader為開啟詳見下文,看不懂看API),它會自動的完成以前的ns(namespace)功能。例如下面 
Js程式碼
Ext.ns(“Foo.bar”); 

 

Foo.bar = Ext.extend(Ext.util.Observable,{
        //your code here
});
Ext.reg(“foobar”,Foo.bar); 

 

所以現在建立一個元件應該是這樣的: 
Js程式碼
Ext.define(“Foo.bar”,{
        extend : “xxxxxx”,
        alias : “widget.foobar”
        //your code here
}); 

 

現在ExtJS不再使用new關鍵字(當然你想用也沒關係),而是推薦使用Ext.create函式來解決這個問題,例如以往我們建立一個元件的程式碼是 
Js程式碼
var win = new Ext.Window({
        //some options
}); 

 

而現在則是 
Js程式碼
var win = Ext.create(“Ext.window.Window”,{
        //some options
}); 

 

4.Ext.env.Browser 
ExtJS3有Ext.isIE、Ext.isFF等方法判斷瀏覽器,這次ExtJS4不僅僅保留了以前的函式,還提供了更為強大Ext.env包來幹這些事情,這個包下面還有其他兩個類:
Ext.env.OS,顧名思義判斷作業系統的,還新增了一些作業系統(主要是移動領域的作業系統)
if (Ext.os.is.Windows) {
     // Windows specific code here

 

if (Ext.os.is.iOS) {
     // iPad, iPod, iPhone, etc.

 

5.Ext.env.FeatureDetector,這個是新加的,主要用於判斷HTML5和CSS3的,例如 
CSS3/動畫/轉換
Canvas/ SVG/ VML
觸控式螢幕是否可用/方向
地理位置(html5的東西相信不陌生吧?)
SqlDatabase
WebSockets
History
音訊
視訊

 

6.Model代替了store的功能,store中一個變化就是baseParams變成了extraParams
Js程式碼
Ext.define(‘User’, {
    extend: ‘Ext.data.Model’,
    fields: [
        {name: ‘name’,  type: ‘string’},
        {name: ‘age’,   type: ‘int’}
    ]
}); 

 

Ext.create(“Ext.data.Store”,{
    modal:”User”,
    proxy{
        url : “xxxx.do”,
        type : “ajax”
    }
}) 

7.Proxy中新增了一個localStorage(Ext.data.proxy.LocalStorage)用於過渡到Html5的localStorage等等。 
Draw繪圖 
這個東西喜歡嗎?我喜歡嘿嘿 
ExtJS4中提供了繪圖,誇瀏覽器的,它內部實現了Canvas、SVG、VML等繪圖方法,所以不同的瀏覽器它會自動使用該瀏覽器支援的繪圖方式。支援IE6789、基於Gecko的瀏覽器(FF)、基於WebKit核心的瀏覽器(Chrome)。 
8.Lang包的修改 
9.ExtJS4的senchaSDKtools裡面還提供了theme的製作,ExtJS審美疲勞了可以換換這個。
---------------------
作者:零零歷險記
來源:CSDN
原文:https://blog.csdn.net/qq_34639706/article/details/74316093
版權宣告:本文為博主原創文章,轉載請附上博文連結!