一:描述
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博客 ” ,链接:https://blog.itpub.net/28624388/viewspace-2143328/
,如需转载,请注明出处,否则将追究法律责任。