Ext.js4.2.1 Ext.define
一:描述
define(String className, Object data, Function createdFn): Ext.Base
define方法最多接受3個引數,className(類的名字),data(Object物件),createdFn(回撥函式)
常用於 定義一個類,覆蓋一個類 或者擴充套件一個類的屬性或方法。
二:方法講解
1.config
配置項,會呼叫this.initConfig(config)將配置項初始化,每個配置項自動生成4個函式:get,set,reset,apply
2.extend
用於類的繼承
3.mixins
類的混合,和Ext.override 類似。但它不會像override 那樣,覆蓋原有的功能。
4.alias
類的別名
5.requires
ExtJS4的requires是新增的機制,主要是實現非同步載入機制。這樣在不點選對應的按鈕或者選項的時候就不會載入對應的js檔案,提高了載入速度和使用者等待時間。
requires機制的實現透過一個Ext.Loader.setConfig函式來設定檔案尋找的對映目錄,然後在需要用到對應js檔案的時候使用Ext.require進行載入。
6.statics
可以在類中定義靜態的方法
三:其它
1.Ext.apply(object,config,[defaults]):Object
該方法包含三個引數,第一個引數是要複製的目標物件,第二個引數是複製的源物件,第三個引數是可選的,表示給目標物件提供一個預設值。可以簡單的理解成把第三個引數(如果有的話)及第二個引數中的屬性複製給第一個引數物件
2.Ext.applyIf(object,config):Object
功能跟apply一樣,只是不會複製那些在目標物件及源物件都存在的屬性
define(String className, Object data, Function createdFn): Ext.Base
define方法最多接受3個引數,className(類的名字),data(Object物件),createdFn(回撥函式)
常用於 定義一個類,覆蓋一個類 或者擴充套件一個類的屬性或方法。
二:方法講解
點選(此處)摺疊或開啟
-
Ext.define("Person", {
-
config : {
-
Name : '',
-
Age : 0
-
},
-
Say : function(msg) {
-
Ext.Msg.alert(this.Name + " Says:", msg);
-
},
-
constructor : function(config) {
-
this.initConfig(config);
-
}
-
});
-
-
Ext.define("Animal", {
-
Sing : function() {
-
Ext.Msg.alert("Sing", "lalalalalallalalal");
-
}
-
});
-
-
Ext.define("MyApp.Developer", {
-
extend : 'Person',
-
mixins : {
-
canSing : 'Animal'
-
},
-
alias : 'Developer',
-
requires : [],
-
config : {},
-
Coding : function(code) {
-
Ext.Msg.alert(this.Name + " coding", code);
-
},
-
statics : {
-
-
test : function(msg) {
-
return "Test " + msg;
-
}
-
}
-
});
-
-
var Alex = Ext.create("Developer", {
-
Name : "Alex",
-
Age : 26
-
});
-
-
Alex.setAge(33);
-
alert(Alex.getAge());
-
alert(MyApp.Developer.test('any way!'));
-
Alex.Sing();
- Alex.Coding("int i=1;");
1.config
配置項,會呼叫this.initConfig(config)將配置項初始化,每個配置項自動生成4個函式:get,set,reset,apply
2.extend
用於類的繼承
3.mixins
類的混合,和Ext.override 類似。但它不會像override 那樣,覆蓋原有的功能。
4.alias
類的別名
5.requires
ExtJS4的requires是新增的機制,主要是實現非同步載入機制。這樣在不點選對應的按鈕或者選項的時候就不會載入對應的js檔案,提高了載入速度和使用者等待時間。
requires機制的實現透過一個Ext.Loader.setConfig函式來設定檔案尋找的對映目錄,然後在需要用到對應js檔案的時候使用Ext.require進行載入。
6.statics
可以在類中定義靜態的方法
三:其它
1.Ext.apply(object,config,[defaults]):Object
該方法包含三個引數,第一個引數是要複製的目標物件,第二個引數是複製的源物件,第三個引數是可選的,表示給目標物件提供一個預設值。可以簡單的理解成把第三個引數(如果有的話)及第二個引數中的屬性複製給第一個引數物件
2.Ext.applyIf(object,config):Object
功能跟apply一樣,只是不會複製那些在目標物件及源物件都存在的屬性
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2143328/,如需轉載,請註明出處,否則將追究法律責任。