在用EXT的过程中,有时会自定义封装一些对象,为了让这个对象有事件处理的能力,简便起见,往往会让这个对象继承Ext.util.Observable事件对象。便在使用的过程中,要注意一个问题,具体如下:
一、问题代码
Ext.namespace("js.main");
var x = js.main;
x.Test = function(_cfg){
this.list = [];
Ext.apply(this,_cfg || {});
this.addEvents("onSuccess");
};
x.Test.prototype.write = function(_arg){
document.writeln(_arg);
};
x.Test.prototype.testA = function(){
this.write("this->list.length: "+this.list.length);
};
Ext.extend(x.Test,Ext.util.Observable);
这段代码,初看上去,没有问题,但当实例出一个Test对象,调用testA方法时,会出现此方法没有定义的问题。
看了其它EXT组件继承观察者事件对象才知道,问题的原因应该出现在,当自定义的对象继承observable时,已经破坏了原始Test对象的原始链,好在此种继承机制提供了一种修复的方式,如接下来所示。
二、正确代码
Ext.namespace("js.main.Test");
var x = js.main;
x.Test = function(_cfg){
this.list = [];
Ext.apply(this,_cfg || {});
this.addEvents("onSuccess");
};
Ext.extend(x.Test,Ext.util.Observable,{
write : function(_arg){
document.writeln(_arg);
},
testA : function(){
this.write("u-------this->list.length: "+this.list.length);
this.fireEvent("onSuccess");
}
});
分享到:
相关推荐
目的:该示例非常详细注释说明Ext的面向对象的编程方式,使用继承,然后重写父类的方法,以及注册自定义事件说明Ext框架是事件驱动的框架编程。 阅读对象:本中心学习Ext面向对象编程的人员 阅读条件:掌握OO的思路...
Ext自定义控件库,自己封装过的的一些ext控件,可以根据自己需要选择
EXT 自定义的控件扩展 完善 EXT ..........
Ext 实现自定义控件,就是用EXT自己扩展控件
ie9不支持ext对象的问题
NULL 博文链接:https://angie-hawk7.iteye.com/blog/925390
ext自定义树组件
EXT dojochina Ext事件.rar EXT dojochina Ext事件.rar
EXT.NET1.0带自定义页大小的分页,有一些小的问题,大家下载可以完善一下。
Ext自定义Grid Cell插件,使用此插件可以在Grid空间的Cell单元格中插入指定的控件
EXTjs2 的treeNode 带有checkbox,可是API中,关于checkbox的事件就只有一个checkchange事件,所以写个方法传上来。
ext 的一些常用方法 ext 的一些常用方法 ext 的一些常用方法
EXT dojochina Ext类继承.rar EXT dojochina Ext类继承.rar
EXT江湖05事件系统
Ext页面框架布局,只需提供菜单数据,然后配置一下周边区域对象即可。菜单数据格式如下:var tempDataArray = [ { id: 'uaMgtTree', text: 'UA模块管理', items: [ { id: 'ticketMgtRoot', text: '凭证...
Ext的类继承 从源码生成Ext 基础用法: DomQuery基础 Ext中的事件 简述模板 模板(Templates)的函数 教你创建Ext UI控件 事件的处理 Ext中的继承 Ext的类设计 Ajax通讯 JSON处理方法 函数的原型扩展 组件的...
ext封装的太死板,里面有常用到的15个ext.js触发事件和监听事件,对ext了解的不是特别深入,大部分都是经常碰到的
Ext的面向对象实例: 1.命名空间 2.类实例属性 3.类实例方法 4.类静态方法 5.构造方法 6.类继承 7.类实例方法重写 8.命名空间别名 9.类别名 10.事件队列
ext继承重写,达到了很高的水平。使用了很多方式,等等。
4.此组件继承的是Ext.Panel,而不是Button,所以此组件并没有所有Ext.Button的功能但是拥有所有Ext.Panel功能并新增了点击事件(使用规范请参照js附件的onReady函数)。本人现正在研究如何重写Ext.Button,如有所收获,...