ExtJS4.2學習 php版(二)

ExtJS使用命名空間 和 本身構建類的方法 寫出了許多能夠重用 高效的方法 因此使用ExtJS 類必須瞭解。
架構

ExtJS4對新的類系統進行了大量的比較完全的重構,新的架構創建在寫在Extjs4庫中每個單獨的類。
異步


ExtJS命名規範
函數

this

  • 類名最好只包含字母,在多數狀況下,數字是不鼓勵使用的,除非非要用不可,也不要使用下劃線,-以及其它非字母字符spa

MyCompany.useful_util.Debug_Toolbar 不鼓勵這樣命名    
MyCompany.util.Base64 可接受的命名

  • 類名最好包組織,在適當的名字空間經過使用.來訪問對象屬性,至少,類名應該有一個頂層的包。例如code

MyCompany.data.CoolProxy    
MyCompany.Application

  • ExtJS不容許用Ext作頂部包名 首部和末尾要使用駝峯法 其餘要使用小寫
    orm

MyCompany.form.action.AutoLoad對象

  • 類名直接映射到存儲該類的文件路徑,所以,每一個文件只能有一個類,如回調函數

Ext.util.Observable is stored in path/to/src/Ext/util/Observable.js
Ext.form.action.Submit is stored in path/to/src/Ext/form/action/Submit.js
MyCompany.chart.axis.Numeric is stored in path/to/src/MyCompany/chart/axis/Numeric.js

  • 屬性命名it

       類屬性命名和上面方法以及變量同樣,除了當屬性是靜態常量的時候。

       當屬性是靜態常量時,字母應該大寫。

Ext.MessageBox.YES = "Yes"
Ext.MessageBox.NO = "No"
MyCompany.alien.Math.PI = "4.13"


ExtJS新的定義類的方式

Ext.define(className, members, onClassCreated);

className:類名

members:這是一個對象,它表示一個以鍵值對形式表示的類成員集合。

onClassCreated:這是一個可定製的回調函數,當這個類所依賴的類都準備完畢時便會調用這個回調函數,而且類自己將會徹底建立。因爲有這個類建立新異步屬性,這個回調在不少狀況都會頗有用。如下是一個例子

Ext.define('My.sample.Person', {
    name: 'Unknown',

    constructor: function(name) {
        if (name) {
            this.name = name;
        }
    },

    eat: function(foodType) {
        alert(this.name + " is eating: " + foodType);
    }
});

var aaron = Ext.create('My.sample.Person', 'Aaron');
    aaron.eat("Salad"); // alert("Aaron is eating: Salad");

上面用Ext.cteate()方法建立了類My.sample.Person的實例。可使用new關鍵字(new My.sample.Person())。可是習慣是老是使用Ext.create由於它在動態加載上有優點。有關動態加載在Extjs-start中有提到。

相關文章
相關標籤/搜索