`

Extjs 继承的使用

阅读更多

Javascript原始的继承写法:
// Traditional constructor:  
Ext.Foo = function(config){  
    // call superclass constructor:  
    Ext.Foo.superclass.constructor.call(this, config);  
  
    this.addEvents({  
        // add events  
    });  
};  
Ext.extend(Ext.Foo, Ext.Bar, {  
   // class body  
}  


Extjs中替换constructor,写法如下:

// initComponent replaces the constructor:  
Ext.Foo = Ext.extend(Ext.Bar, {  
    initComponent : function(){  
        // call superclass initComponent  
        Ext.Container.superclass.initComponent.call(this);  
  
        this.addEvents({  
            // add events  
        });  
    }  
}  


另外的写法:
IndexPage = Ext.extend(Ext.Viewport, {  
            initComponent : function() {  
                this.items = [{  
                        // 内容  
                        }];  
                IndexPage.superclass.initComponent.call(this);  
            }  
        });  

 
IndexPage = Ext.extend(Ext.Viewport, {  
            constructor : function() {  
                IndexPage.superclass.constructor.call(this, {  
                        // 内容  
                        });  
            }  
        }); 



还有种写法. (未验证)
var IndexPage = function(){ 
IndexPage.superclass.constructor.call(this, {  
                        // 内容  
                        });  
} 
Ext.extend(Ext.Viewport,IndexPage , {  
            initComponent : function() {  
                this.items = [{  
                        // 内容  
                        }];  
                IndexPage.superclass.initComponent.call(this);  
            }  
        });  


在Ext中,组件的constructor会调用Ext.apply(this, config),即将构造的配置应用到自身,然后调用initComponent进行组件初始化。

第一种方法扩展出的组件,只会修改items,使用时还能再传入其它参数。
第二种就是写死了构造配置,使用时传什么参数都没用。

你可以尝试看看Ext.Component的源码,在目录:src/widgets/Component.js中
分享到:
评论

相关推荐

    Extjs继承结构图.png

    Extjs 组件继承结构图,亲手整理,可用于Extjs学习时快速理清组件之间的关系

    extjs组建继承结构图

    extjs组建继承结构图 让你了解extjs的整个架构!

    无废话ExtJs 系列教程十八[继承:Extend]

    在学习和使用ExtJS的继承机制时,需要注意以下几点: 1. **避免循环引用**:确保类的定义顺序正确,避免出现循环依赖导致的错误。 2. **覆盖和扩展方法**:谨慎覆盖父类的方法,若需扩展,考虑使用`callParent`或`...

    轻松搞定Extjs 带目录

    ### 知识点概述 #### 1. Extjs概念与目录结构 Extjs是一个基于JavaScript的框架,用于构建交互式的web应用。...通过学习本书,读者能够全面掌握Extjs的各种特性,进而使用Extjs开发出功能强大、交互良好的Web应用。

    ExtJS viewModel继承

    ExtJS6 viewModel继承 viewModel各级控件继承演示,动态改变viewModel 详见文章解释 https://blog.csdn.net/ZYD45/article/details/87867454

    Extjs源码之--Ext事件机制/继承关系

    在“Extjs源码之--Ext事件机制/继承关系”中,我们将深入探讨EXTJS如何处理事件以及其类层次结构。EXTJS的事件处理主要由EventManager.js这个文件负责,它是EXTJS事件系统的基础。 首先,EXTJS的事件机制基于观察者...

    ExtJs 2.2 简明教程 02 基础知识

    ExtJs的类系统支持继承、混合(Mixins)和配置(Config)。继承允许创建子类,以复用和扩展父类的功能;混合允许将方法和属性添加到任意对象中;配置则允许在创建对象时设定初始状态。 3. **程序编写建议**: - **...

    ExtJS4中文教程2 开发笔记 chm

    在Extjs4应用中使用Ext.Loader ======================================= 11条jquery常用技巧和方法整理列表 8个超棒的学习jQuery的网站 JQuery 1.5 getJSON 的使用 JQuery AJAX提交中文乱码的解决方案 Jquery css...

    ExtJS 3.4 源码包

    - **JS类系统**:ExtJS使用面向对象的类系统,类与类之间可以通过继承实现代码重用和扩展。 - **事件系统**:事件驱动是ExtJS的核心机制,允许组件间通信和响应用户操作。 - **Ajax通信**:Ext.Ajax模块负责异步...

    Extjs 性能优化 High Performance ExtJs

    本文旨在针对具有一定 JavaScript 基础(理解面向对象、继承、作用域等概念)并且熟悉 Extjs 框架(了解组件间继承关系)的开发者,提供一些关于如何对 Extjs 的前台架构进行性能优化的方法。 #### 二、缓存 缓存...

    ExtJs4.0官方版本

    ExtJS 4.0拥有详尽的API文档,涵盖了所有组件、方法和事件,方便开发者查阅和使用。 9. 兼容性和性能优化 4.0版本对浏览器兼容性进行了全面优化,支持主流的浏览器,同时通过改进渲染机制和事件处理提高了整体性能...

    EXTJS入门教程(非常详细)

    在EXTJS中,几乎所有的组件都继承自Ext.Container,这意味着每个组件都可以拥有事件监听器。比如,按钮组件中可以添加点击事件监听器,当用户点击按钮时,可以触发相应的方法执行。 接下来,我们来看看EXTJS入门...

    EXT 中文手册 搭配ExtJs2.2实例更快将ExtJs入手

    这可能包括如何使用JavaScript对象、函数、数组等基本概念,以及如何利用JavaScript的原型继承机制来扩展ExtJs的组件。此外,手册也可能涉及Ajax通信、DOM操作等JavaScript高级特性,这些都是ExtJs开发中不可或缺的...

    中文ExtJS2.0.CHM

    它通过实际代码展示如何使用ExtJS的各种组件和功能,比如按钮、表单、面板、窗口、菜单等,让开发者能够快速上手并掌握实际应用技巧。 UML(统一建模语言)类图是软件工程中用来表示对象和类之间关系的一种图形表示...

    ExtJS入门教程(超级详细)

    在ExtJS中,组件被组织为具有特定功能的类,开发者通过继承这些类或使用预定义的配置选项来创建和管理这些组件。 对于初学者来说,理解ExtJS组件的使用是非常重要的。在上述的入门教程中,会详细地介绍如何创建一个...

    使用extjs写的时间轴

    在这个特定的场景中,我们关注的是“使用ExtJS写的时间轴”。 时间轴在数据可视化中是一种非常有用的表现形式,它能清晰地展示按时间顺序排列的事件或数据点。通过使用ExtJS,我们可以创建一个功能丰富、可定制化的...

    extJS 一些简单实例

    总的来说,"extJS 一些简单实例"这个主题涵盖了使用ExtJS进行Web开发的基础知识,包括组件、数据绑定、应用配置等方面,适合初学者入门和进阶者巩固。通过学习和实践这些实例,开发者可以掌握创建交互式Web界面的...

    ExtJS如何自定义图片按钮组件

    4.此组件继承的是Ext.Panel,而不是Button,所以此组件并没有所有Ext.Button的功能但是拥有所有Ext.Panel功能并新增了点击事件(使用规范请参照js附件的onReady函数)。本人现正在研究如何重写Ext.Button,如有所收获,...

    php+ExtJS 开发实战

    - **类与继承**: 在ExtJS中,可以通过定义类来创建组件,并通过继承机制来扩展现有组件的功能。 - **封装**: 封装是指隐藏对象的具体实现细节,仅暴露必要的接口给外部调用,从而增强代码的安全性和灵活性。 - **...

Global site tag (gtag.js) - Google Analytics