Ext.apply
说明:将配置文件中的属性复制到特定的对象
Ext.applyIf
说明:将配置文件中的属性复制到特定对象,如果对象中保护配置文件中的属性,就不复制
constructor属性
说明:在定义类的时候,定义类的构造函数
1、apply与applyIf的使用
Ext.define('class1',{
A:"a",
B:"b",
constructor: function (o){
//复制o中的所有属性到自身
Ext.apply(this,o);
A:"A",
B:"B",
C:"C" = o
this = 类class1
}
});
var obj = Ext.create("class1",{
A:"A",
B:"B",
C:"C"
});
Ext.Msg.alert("obj属性",obj.A+" "+obj.B+" "+obj.C);
上边例子的结果是: A,B,C
如果用Ext.applyIf(this,o);这样就不会发生覆盖 结果就会是 a,b,C
2、mixins的使用:类似于面向对象中的多继承,使用如下
创建class1
Ext.define('class1',{
A:"a",
B:"b"
});
创建class2
Ext.define('class2',{
C:"c",
D:"d",
show: function (){
Ext.Msg.alert("obj的所有属性",obj.A+" "+obj.B+" "+obj.C+" "+obj.D);
}
});
创建class3并集成来自class1和class2的所有成员属性
Ext.define("class3",{
开始继承
mixins:{
class1:"class1",
class2:"class2"
}
});
实例化class3的对象
var obj = Ext.create("class3");
obj.show();
显示结果a,b,c,d
3、static静态变量,由本类进行访问不需要实例化
Ext.define("test",{
A:"a",
B:"b",
statics:{
C:"c"
}
});
没有实例化test类
Ext.Msg.alert("test类的静态属性C的值是:",test.C);
显示结果 c
4、config属性包装器,为属性提供get和set方法
Ext.define("test",{
A:"a",
B:"b",
config:{
configProperty:"hello, lisi",
}
});
var Obj = Ext.create("test");
通过get方法展示属性值
Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty()); 显示结果:hello, lisi
通过set方法设置属性的值,注意:包装器会把属性的头字母大写
Obj.setConfigProperty("set this property's value!");
通过get方法展示属性值
Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty()); 显示结果:set this property's value!
1、apply与applyIf的使用
Ext.define('class1',{
A:"a",
B:"b",
constructor: function (o){
//复制o中的所有属性到自身
Ext.apply(this,o);
A:"A",
B:"B",
C:"C" = o
this = 类class1
}
});
var obj = Ext.create("class1",{
A:"A",
B:"B",
C:"C"
});
Ext.Msg.alert("obj属性",obj.A+" "+obj.B+" "+obj.C);
上边例子的结果是: A,B,C
如果用Ext.applyIf(this,o);这样就不会发生覆盖 结果就会是 a,b,C
2、mixins的使用:类似于面向对象中的多继承,使用如下
创建class1
Ext.define('class1',{
A:"a",
B:"b"
});
创建class2
Ext.define('class2',{
C:"c",
D:"d",
show: function (){
Ext.Msg.alert("obj的所有属性",obj.A+" "+obj.B+" "+obj.C+" "+obj.D);
}
});
创建class3并集成来自class1和class2的所有成员属性
Ext.define("class3",{
开始继承
mixins:{
class1:"class1",
class2:"class2"
}
});
实例化class3的对象
var obj = Ext.create("class3");
obj.show();
显示结果a,b,c,d
3、static静态变量,由本类进行访问不需要实例化
Ext.define("test",{
A:"a",
B:"b",
statics:{
C:"c"
}
});
没有实例化test类
Ext.Msg.alert("test类的静态属性C的值是:",test.C);
显示结果 c
4、config属性包装器,为属性提供get和set方法
Ext.define("test",{
A:"a",
B:"b",
config:{
configProperty:"hello, lisi",
}
});
var Obj = Ext.create("test");
通过get方法展示属性值
Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty()); 显示结果:hello, lisi
通过set方法设置属性的值,注意:包装器会把属性的头字母大写
Obj.setConfigProperty("set this property's value!");
通过get方法展示属性值
Ext.Msg.alert("configProperty属性的值是:",Obj.getConfigProperty()); 显示结果:set this property's value!