4年前玩过extjs ,如今重新捡回来,感觉还是有点手生,今天看了一下视频,记录一下。
Ext.onReady(function(){}) //加载事件 var o = { say : function(){ alert(11111); } } var fn = Ext.Function.alias(o,'say'); fn(); //创建函数别名 Ext.get("myb") //这个能获取页面id为myb的元素 //创建对象的几种方式 1. var win = new Ext.window.Window({ width:400, height:300, title:'uspcat' }); 2.var win = Ext.create('Ext.window.Window',{ width:400, height:300, title:'uspcat' }); 3. //先声明,后创建符合面向对象的原则 Ext.define("myWin",{ extend:'Ext.window.Window', width:400, height:300, title:'uspcat', initComponent: function() { this.callParent(arguments); } }); var win = Ext.create("ux.myWin",{ title:'my win' }); //动态加载 Ext.Loader.setConfig({ enabled:true, paths:{ myApp:'code/ux' //命名空间,extjs 会动态加载该空间下的控件 } }); 在code/ux 目录下有个mywin.js 内容如下 Ext.define("ux.myWin",{ extend:'Ext.window.Window', width:400, height:300, config: { price: 50 }, newtitle: 'new uspcat', mySetTitle:function(){//自定义方法 this.title = this.newtitle; }, title:'uspcat', initComponent: function() { //初始化方法 this.mySetTitle(); this.callParent(arguments); } }); //如果在某个地方引用到了这个ux.myWin 则会动态加载 mywin.js Ext.get("myb").on("click",function(){ var win = Ext.create("ux.myWin",{ title:'my win', price:600, requires:['ux.myWin'] //需要加载的控件 }); }); //给类的属性加方法 ,注意上面的mywin.js 里面有个 config: { // price: 50 // },属性 这个会自动生成get方法 Ext.get("myb").on("click",function(){ var win = Ext.create("ux.myWin",{ title:'my win', price:600, requires:['ux.myWin'] }); alert(win.getPrice()) }); //这个到是挺有用的 //多重继承 Ext.define("say",{ cansay:function(){ alert("hello"); } }) Ext.define("sing",{ sing:function(){ alert("sing hello 123"); } }) Ext.define('user',{ mixins :{ say : 'say', sing: 'sing' } }); var u = Ext.create("user",{}); u.cansay(); u.sing(); //mixins 属性可以达到多重继承的功能