標籤:靜態方法 undefined nbsp 調用 ini 混合 end use pre
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 //當前的類就被當做一個單例對象 }); */ })
ExtJs006類別名、備用名