ExtJs006类别名、备用名
Ext.onReady(function () { //Ext.define 其他配置项 //别名、备用名 Ext.define("User", { config: { name: 'hhh', age:10 }, alias: 'uu',//起别名 底层代码在Ext.ClassManger alternateClassName: 'uuu',//备用名字 和alias差不多 //给当前类一个备用名 底层代码在Ext.ClassManger constructor: function (config) { //构造器 var me = this; me.initConfig(config); //初始化配置 } }); //var u = Ext.create('User'); var u1 = Ext.create('uuu'); //通过别名一样可以创建User类 //var u2 = Ext.create('uu'); alert(u1.getName()); //注意:这里的调用方式 alert(u1.getAge()); Ext.define('My.sample.Person', { config: { name: 'Mr. Unknown', age: 0, gender: 'Male' }, alias: 'uu',//起别名 底层代码在Ext.ClassManger alternateClassName: 'uuu', //给当前类一个备用名 底层代码在Ext.ClassManger hhh:'aaa', constructor: function (config) { this.initConfig(config); return this; } }); var u = Ext.create('My.sample.Person'); var u1 = Ext.create('uu'); var u2 = Ext.create('uuu'); alert(u2.config.name); alert(u2.config.age); alert(u2.hhh); */ //statics(子类不能继承) inheritableStatics(子类可以继承) 给当前类定义静态方法或属性 /* Ext.define('Person', { config: { name:'父类' }, statics: { //静态的方法或属性 static_id: '我是Person的id,不能被子类所继承!!' }, inheritableStatics: { //静态的方法或属性 inheritableStatics_id: '我是Person的id,我可以被子类继承!!' }, constructor: function (config) { var me = this; me.initConfig(config); } }); //一定注意:!!!!!//实例对象是无法使用静态属性或方法的 //var p = Ext.create('Person'); //alert(p.static_id); //用类名去使用静态属性:!!!! // alert(Person.static_id); // alert(Person.inheritableStatics_id); Ext.define('User', { extend: 'Person', config: { age: 20 } }); alert(User.static_id); //undefined alert(User.inheritableStatics_id); */ /* //mixins 混合的配置项,可以多继承的配置 Ext.define("Sing", { canSing: function () { alert('canSing方法,自定义'); } }); Ext.define("Say", { canSay: function () { alert('canSay,,,'); } }); Ext.define('User', { mixins: { sing: "Sing", //相当于继承Sing类,可以通过User调用Sing里面的方法 say:"Say" } }); var u = Ext.create("User"); //注意大小写 u.canSay(); u.canSing(); */ //^_^伪代码说明: requires 和 uses 以及 singleton /** Ext.define('MyComponent',{ //可能需要Ext或者是其他的类做支持 //requires加载需要的类时机是:当前类初始化之前被加载 //requires:['Ext.window.Window','Ext.button.Button'] //uses加载需要的类时机是:当前类初始化之后被加载 //uses:['Ext.form.Panel','Ext.grid.Panel'] //singleton:true //当前的类就被当做一个单例对象 }); */ })