這篇文章給大家分享的是有關(guān)Ext.js4.2.1中Ext.define有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為海北州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及海北州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、海北州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
一:描述
define(String className, Object data, Function createdFn): Ext.Base
define方法最多接受3個參數(shù),className(類的名字),data(Object對象),createdFn(回調(diào)函數(shù))
常用于 定義一個類,覆蓋一個類 或者擴(kuò)展一個類的屬性或方法。
二:方法講解
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
配置項(xiàng),會調(diào)用this.initConfig(config)將配置項(xiàng)初始化,每個配置項(xiàng)自動生成4個函數(shù):get,set,reset,apply
2.extend
用于類的繼承
3.mixins
類的混合,和Ext.override 類似。但它不會像override 那樣,覆蓋原有的功能。
4.alias
類的別名
5.requires
ExtJS4的requires是新增的機(jī)制,主要是實(shí)現(xiàn)異步加載機(jī)制。這樣在不點(diǎn)擊對應(yīng)的按鈕或者選項(xiàng)的時候就不會加載對應(yīng)的js文件,提高了加載速度和用戶等待時間。
requires機(jī)制的實(shí)現(xiàn)通過一個Ext.Loader.setConfig函數(shù)來設(shè)置文件尋找的映射目錄,然后在需要用到對應(yīng)js文件的時候使用Ext.require進(jìn)行加載。
6.statics
可以在類中定義靜態(tài)的方法
三:其它
1.Ext.apply(object,config,[defaults]):Object
該方法包含三個參數(shù),第一個參數(shù)是要拷貝的目標(biāo)對象,第二個參數(shù)是拷貝的源對象,第三個參數(shù)是可選的,表示給目標(biāo)對象提供一個默認(rèn)值??梢院唵蔚睦斫獬砂训谌齻€參數(shù)(如果有的話)及第二個參數(shù)中的屬性拷貝給第一個參數(shù)對象
2.Ext.applyIf(object,config):Object
功能跟apply一樣,只是不會拷貝那些在目標(biāo)對象及源對象都存在的屬性
感謝各位的閱讀!關(guān)于“Ext.js4.2.1中Ext.define有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!