10、ExtJs——类的声明、对象创建及关键字
来源:互联网 发布:flash player mac 编辑:程序博客网 时间:2024/05/21 09:23
在ExtJs中,关于类的声明和对象的创建
//js中类的声明其实就是一个function//第一种:/**function user(){//相当于java的publicthis.name = 'sd';this.age = 26;//var 就相当于高级语言当中的privatevar email = 'yyy@mail.com';this.getEmail = function(){return email;}}var u = new user();alert(u.getEmail());//第二种var Person = {name:'dfsd',age:24};alert(Person.name + " " + Person.age);*///Ext中类的声明Ext.onReady(function(){/**//第一种:使用newvar win = new Ext.window.Window({title:'dsfsafsd',width:400,height:300});//win.show();//1、得到那个那妞的dom对象//2、为按钮对象添加单击的事件//3、单击的时候调用对象win的show方法Ext.get('d1').on('click',function(){win.show();});*///第二种,使用Ext.create/**var win = new Ext.create('Ext.window.Window',{title:'dsfsafsd',width:400,height:300});win.show();*///第三种:使用Ext.define,/**Ext.define('MyWin',{extend:'Ext.window.Window',title:'dsfsafsd1111111111',width:400,height:300,setTitle:function(){this.title = 'new title';},initComponent:function(){this.setTitle();this.callParent(arguments);}});*///一般的做法是将define部分单独写入一个js文件,然后再jsp中进行引用//如新建一个ux文件夹,在其中定义n_01_js_mywin.js,引入<script type="text/javascript" charset="utf-8" src="base/ux/n_01_js_mywin.js"></script>//这样,程序会很小很干净//有一个问题,当我们定义的组件很多时,在jsp的头中需要引入很多js//解决问题,消除:<script type="text/javascript" charset="utf-8" src="base/ux/n_01_js_mywin.js"></script>这样的引用//方案,就是使用动态加载,前面讲过Ext.Loader.setConfig({ //设置Ext动态加载enabled:true,paths:{myApp:'base/ux' //加载的路径}});Ext.get('d1').on('click',function(){var win = Ext.create('base.ux.MyWin',{newarg:800,requires:['base.ux.MyWin'] //requires 动态加载});alert(win.getNewarg());alert(win.getHhq());win.show();});});
关于动态加载这一块,使用ExtJs4.2,我是过将
// Ext.Loader.setConfig({ //设置Ext动态加载
// enabled:true,
// paths:{
// myApp:'base/ux' //加载的路径
// }
// });
这一段设置去掉,也能执行成功,然后呢,将
// requires:['base.ux.MyWin'] //requires 动态加载
去掉,也能执行,这个程序示例,这一句Ext.create('base.ux.MyWin',只要类的定义及创建时类的名字写全,即包名要写全,就能找到,文件名要与类的名字完全一样,路径要一样,即js文件的存放路径要与类定义的包名一致。
关于混入
//混入:mixins//1、简单地混入,mixins:直接跟混入类的数组/**Ext.define('CanSing', { sing: function() { alert("I'm on the highway to hell...") }});Ext.define('Musician', { mixins: ['CanSing'], //跟类的数组 mSing:function(){alert('Musician 的mSing');}});var m = Ext.create('Musician');m.sing();m.mSing();*///2、如果混入多个类,且这些类有相同的方法,或被混入类定义方法与混入类相同,使用对象Ext.define('CanSing', { sing: function() { alert("CanSing I'm on the highway to hell...") }});Ext.define('CanSing1', { sing: function() { alert("CanSing1.....") }});Ext.define('Musician', { mixins: { //相当于类多了几个指向混入类的引用 canSing: 'CanSing', canSing1:'CanSing1' }, sing: function() { // delegate singing operation to mixin this.mixins.canSing.sing.call(this); }});var m = Ext.create('Musician');m.sing();m.mixins.canSing1.sing(); //使用不同混入类的方法
base.ux.MyWin这个类:在WebRoot/base/ux下建立MyWin.js
Ext.define('base.ux.MyWin',{extend:'Ext.window.Window',title:'dsfsafsd1111111111',width:400,height:300,hhq:'ppp', //这个属性不会自动生成get/setgetHhq:function(){return this.hhq ;},//需要自己写config:{ //config中设置的属性会自动生成get set方法newarg:900},setTitle:function(){this.title = 'new title';},initComponent:function(){this.setTitle();this.callParent(arguments);}});
0 0
- 10、ExtJs——类的声明、对象创建及关键字
- 类的声明和对象的创建
- OC学习笔记01-类的声明实现与对象创建,方法声明实现与调用及传参
- ios视频学习3.2 类的声明和对象的创建—内存分析1
- 声明对象和创建对象的区别
- js类的声明和对象的创建
- 【无限互联】iOS开发视频教程 — 3.2 类的声明和对象的创建—内存分析1
- Objective-C(一):类的声明和对象创建
- 关于 对象的声明 及 指针对象
- extjs学习03——extjs的面向对象程序设计
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
- java数组的声明创建及初始化
- 声明对象和创建对象
- Java面向对象8——对象转型,动态绑定,抽象类,final关键字及接口
- 类声明中关键字的位置
- 类对象的创建及级联方法
- 类的创建与声明
- 第一个oc程序,关于创建对象,声明,点语法,self关键字
- 归并排序-这个更清晰些
- android压缩解压缩zip文件格式
- Windows下Nginx的启动、停止等命令
- winform的坐标系
- AJAX异步JavaScript和XML 基本
- 10、ExtJs——类的声明、对象创建及关键字
- Spiral Matrix II
- JUNIT4如何按顺序执行test cases
- unity Script 脚本所有编译器属性详解
- 进击的pjm,开始code吧
- android 打包app,以及签名
- android,手机 遥控,
- 洗牌算法Fisher–Yates shuffle
- k-means聚类算法