对于继承,刚刚实然想明白了一个问题,想明白了,觉得自己有点搞笑了。在开发的时候,有时要用到这个dom对象的父对象,我之前一直是用 dom的 parent的想法来想ExtJS,所以在查找它的API的时候,总是在想,为什么它的API里没有提供getParent 这样类似的方法呢,刚刚实然想通了,ExtJS是通过extend来作继承的,就如同Java中的extends,那就完全不需要getParnet这样的方法了,子类已经完全有了父类的方法与属性了,还要parent作什么呢。
在某本书里看到,ExtJS的继承方式有两种写法:
一种是:
classsB = function(config) {
classB.superclass.constructor.call(this,config);
};
Ext.extend(classB, classA );
还有一种是:
Ext.extend(classB,classA,{
constructor:function(config){
classB.superclass.constructor.call(this,config);
}
});
就我在开发中遇到的问题来看,第一种是比较好的,第二种会有一些问题
再说一下对于重写父类里的方法和属性的问题:
如果是第一种写法,写在call里的方法,并不能覆盖父类里的方法,写在extend里的就可以,但是,写在extend里时,会遇到一个问题,当覆盖父类方法的时候,想要通过this拿到当前类的对象,如classB的对象,就很困难,所以,对于覆盖父类的方法,还是写在classB里比较好,通过,this.method = function(config){}这样,就可以直接覆盖父类的方法。
就本人而言,更喜欢通过这种方式来重写父类的方法与属性,因为这样写与java的继承和重写就十分像了,Java中是通过extends来继承的,这样写也是通过Ext.extend来继承,
call就像是Java中的构造器,最重要的,覆盖的方法与属性,与java覆盖时的地方都是一样的,都在子类里。
对于ExtJS,要抛弃掉dom这个概念,将ExtJS想像成Java,才能够更好的理解他的继承与实现时遇到的一些问题,当这些问题想清楚了,才会发现这些问题解决起来是如此的简单。
分享到:
相关推荐
extjs属性方法集中方便你查看学习,赶快来下载吧!学习extjs
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议
Extjs 组件继承结构图,亲手整理,可用于Extjs学习时快速理清组件之间的关系
extjs常见问题http://www.jb51.net/list/list_217_1.htm
4、选择“ExtJS” 并点击“Add Library”然后在下拉条中选取“ExtJS”; 5、选择 “ExtJS”并点击“Add File”,然后在你的./ext-2.x/source目录中选取“ext.jsb” 文件; 6、设置新的ExtJS Profile,选中并点击...
Extjs+Gride使用方法 Extjs Gride
extjs向action提交的方法,由Ext界面提交到action的两种方法,点击id为save的按钮时,执行loginFun函数。
ExtJs4.2代码例子 ExtJS Window常用方法
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
extjs组建继承结构图 让你了解extjs的整个架构!
extjs资料extjs资料extjs资料extjs资料extjs资料
关于ExtJS内存泄漏问题,一直是ExtJS开发人员困扰的问题,这篇文档很好地解释了什么是内存泄漏,为什么会产生内存泄漏。能够帮助程序员使用ExtJS开发出更高效安全的代码。
解决extjs中的GridPanel的单元格在IE无法选中复制的问题
ExtJS6 viewModel继承 viewModel各级控件继承演示,动态改变viewModel 详见文章解释 https://blog.csdn.net/ZYD45/article/details/87867454
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
本文适合有一定javascript基础(明确js的面向对象,继承,作用域等)并能熟练使用extjs框架(明确各组件间的继承关系)的人阅读,目的在于对extjs的前台架构进行性能上的优化,核心思想为:“按需索取,晚使用,晚加载...
EXTJS4自学手册——EXT基本方法、属性(onReady、define、create) EXTJS4自学手册——EXT基本方法、属性(apply、applyIf、constructor) EXTJS4自学手册——EXT基本方法、属性(mixins、statics、require) EXTJS...
myeclipse中使用extjs,缓慢、卡死、白屏,解决方法总结。
教程包括ExtJS 的新手入门、组件体系结构及使用、ExtJS 中各控件的使用方法及示例应用等,是一个非常适合新手的ExtJS 入门教程。本教程主要是针对ExtJS2.0 进行介绍,全部代码、截图等都是基于ExtJS2.0。
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...