首页 > 代码库 > ExtJS学习-------Ext.define的别名和备用名,两种定义静态方法的方法,混入属性和其他属性
ExtJS学习-------Ext.define的别名和备用名,两种定义静态方法的方法,混入属性和其他属性
(1)Ext.define起别名和备用名
Ext.onReady(function(){ Ext.define('User',{ config:{ name:'张三', age:23 }, //使用别名 alias:'alias_user', //使用备用名 alternateClassName:'alternateClassName_user', constructor:function(config){//构造器 var me=this; me.initConfig(config); } }); //用三个名字进行定义 var u1=Ext.create('User'); var u2=Ext.create('alias_user'); var u3=Ext.create('alternateClassName_user'); alert(u1.getName()+'=='+u1.getAge()); alert(u2.getName()+'=='+u1.getAge()); alert(u3.getName()+'=='+u1.getAge()); });
结果:
(2)定义静态方法(两种方法)
Ext.onReady(function(){ Ext.define('Person',{ config:{ name:'张三' }, statics:{//静态的方法或属性 static_id:'我是Person的id,不能被子类所继承!!' }, inheritableStatics:{ //静态的方法或属性 inheritableStatics_id:'我是Person的id,我可以被子类继承!!' }, constructor:function(config){ var me = this; me.initConfig(config); } }); Ext.define('User',{ extend:'Person', config:{ age:23 } }); //对继承过来的静态属性进行测试:实例对象是无法使用静态属性或者方法的 //用类名去使用静态属性或者方法 alert(User.static_id); alert(User.inheritableStatics_id); alert(Person.static_id); });
结果:
(3)混入属性,相当于多继承:
Ext.onReady(function(){ Ext.define('Boy',{ boySay:function(){ alert('I am a boy...'); } }); Ext.define('Girl',{ girlSay:function(){ alert('I am a girl...'); } }); Ext.define('Person',{ mixins:{//混入属性,相当于多继承 boy:"Boy", girl:"Girl" } }); var p=Ext.create('Person'); p.boySay(); p.girlSay(); });
结果:
(4)Ext.define的其他属性:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。