一、类的设计
JavsScript并没有提供一个自动的调用父类构造器的机制,所以必须通过属性superclass在构造器中显式调用父类。第一个参数总是this,以保证构造器工作在调用函数的作用域。
MyNewClass = function(arg1, arg2, etc) {
// 显示调用父类的构造函数
MyNewClass.superclass.constructor.call(this, arg1, arg2, etc);
};
Ext.extend(MyNewClass, SomeBaseClass, {
theDocument : Ext.get(document),
myNewFn1 : function() {
// etc
},
myNewFn2 : function() {
// etc
}
});
二、扩展Ext.Component
一个可重用模板
MyComponent = Ext.extend(Ext.some.component, {
//缺省构造参数,可被自定义设置覆盖
propA: 1,
initComponent: function(){
//在组件初始化期间调用的代码
//因为配置对象应用到了“this”,所以属性可以在这里被覆盖,或者添加新的属性
//(如items,tools,buttons)
Ext.apply(this, {
propA: 3
});
//调用父类代码之前
//调用父类构造函数(必须)
MyComponent.superclass.initComponent.apply(this, arguments);
//调用父类代码之后
//如:设置事件处理和渲染组件
},
//覆盖其他父类方法
onRender: function(){
//调用父类代码之前
//调用父类相应方法(必须)
MyScope.superclass.onRender.apply(this, arguments);
//调用父类代码之后
}
});
//注册成xtype以便能够延迟加载
Ext.reg('mycomponentxtype', MyComponent);
创建以上代码的实例:
var myComponent = new MyComponent({
propA: 2
});
//或者延迟加载:
{..
items: {xtype: 'mycomponentxtype', propA: 2}
..}
属性propA将被设置3次,按顺序分别是1,2,3 。通过跟踪代码(和注释) ,你会发现初始值为1(构造缺省),然后通过用户配置对象设置为2,最后在initComponent方法中被覆盖设置成3.希望这个例子能让你稍微明白代码执行的顺序(而不是按照你读代码的顺序!)。
因为组件是其他组件的基础,所以下面代码是获取基础组件快捷方法。
var topCmp = (function(o){while(o.ownerCt){o=o.ownerCt} return o;})(this);
附:
附件为 ext-2.2/examples/grid 下的例子。(注意几种继承方式的写法)
以上参考自:
http://extjs.com/learn/Manual:Component:Extending_Ext_Components
分享到:
相关推荐
通过扩展ExtJS的现有类,可以创建具有独特功能的新组件,并在设计器中使用。 10. **文档和支持**:ExtJS社区提供了详尽的文档和论坛支持,遇到问题时可以查阅官方文档或向社区求助,以解决在使用设计器过程中遇到的...
ExtJS的`Ext.draw.Container`类可以用来创建这样一个画布,支持拖放操作,允许用户放置和调整工作流元素的位置。 3. **连接线**:工作流元素之间通常需要通过连接线表示流程流转。ExtJS提供了绘图API,可以用来绘制...
### ExtJS设计模式详解 #### 引言 随着前端技术的发展与成熟,越来越多的企业和开发者开始重视前端架构的搭建与优化。作为一款优秀的前端框架,ExtJS不仅在UI组件管理和风格统一方面表现出色,同时也引入了许多经典...
- **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是Extjs实现面向对象编程的基础。 - **命名空间**: 命名空间在Extjs中用于组织和管理代码,避免变量和函数名的冲突。 #### 3. Extjs ...
标题中的“类extjs的c++界面库”指的是一个C++开发的用户界面库,它借鉴了ExtJS的设计理念和架构。ExtJS是一款基于JavaScript的前端框架,以其丰富的组件库和强大的布局管理闻名,用于构建复杂的Web应用程序。而这个...
- ExtJS 4允许开发者自定义图标,可以通过编写CSS来设置新的背景图片,或者使用Icon类并传入自定义的SVG代码或数据URL。 6. **响应式设计**: - 在移动设备上,图标可能需要调整大小或样式以适应不同的屏幕尺寸。...
在"ExtJs3.3中文API.CHM"中,开发者可以找到关于ExtJS 3.3的所有API和类的详细描述,以及相关的示例代码。 ExtJS 3.3的核心特性包括: 1. **组件化**:ExtJS基于组件模型,提供了一系列预定义的UI组件,如按钮、...
在 4.0 版本中,EXTJS 提出了 MVC 模式的开发,支持组件化、模块插拔化设计以及提供本地数据源的支持。 组件是 EXTJS 的基本概念之一,能够以图形化形式呈现界面的类,其中还可以分为容器组件与元件组件。容器组件...
在你提到的"extjs icon小图标"资源中,包含了一万个小图标,这为开发者提供了大量的选择,以满足不同设计需求。这些图标可能涵盖了各种类别,如操作状态(如成功、警告、错误)、导航方向、编辑操作(如新建、删除、...
在这个文档中,开发者可以直观地看到ExtJS2的类与类之间的关系,更好地理解其内部结构和设计模式。这对于深入学习ExtJS2的架构,优化代码组织,以及提升代码的可维护性非常有帮助。 在学习这些资源时,建议首先阅读...
- **组件模型**:ExtJS基于组件化设计,每个UI元素都是一个可复用的组件,如窗口(Window)、表格(Grid)、表单(Form)等。 - **布局管理**:ExtJS提供多种布局方式,如Fit布局、Border布局、Table布局等,使得...
在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容新版本。本篇文章将详细介绍如何针对ExtJS 3.x版本定制和优化一...
16x16像素的大小也符合许多设计规范,确保在不同设备和分辨率下都能显示得体。 在Web开发中,图标素材通常以SVG(Scalable Vector Graphics)或PNG格式提供,SVG支持矢量图形,可以在任何尺寸下保持清晰,而PNG则...
EXTJS的图标设计遵循现代UI设计原则,提供了一致性和专业感,使得开发者可以轻松地为他们的EXTJS应用增添美观的图形元素。 描述 "EXTJS项目图标,共1001个文件,从此找图标不用愁了" 暗示这个压缩包包含了一个庞大...
### ExtJs组件类的对应表解析 #### 引言 ExtJs是一款强大的JavaScript框架,用于构建复杂的、数据密集型的应用程序。它提供了大量的组件和工具,使得开发者能够快速地创建美观且功能丰富的用户界面。本文将详细...
【标题】:“ExtJs与C#做的简易毕业设计论文管理系统”是基于Web的软件开发项目,旨在提供一个方便、简洁的平台,用于管理和处理毕业设计论文的各个环节。这个系统利用了ExtJs的富客户端框架和C#的后端服务器端能力...
"类extjs的c++简单ui库"是一个针对C++编程环境设计的用户界面库,其设计理念是模仿流行的JavaScript框架ExtJS。这个库的目标是为C++开发者提供一个易用且功能基础的UI解决方案,使得在C++环境中构建图形用户界面...
面板(panel)是ExtJS中一个很重要的概念,它相当于一幅画板,我们可以在它上面放置需要的各种组件,并使用不同的布局类对组件的摆放位置进行格式化,掌握这些布局类的特点及使用方式是突破ExtJS页面设计的关键,...
第二章“Back to the basics”则着重讲解了ExtJS的基础概念和技术要点,包括如何设置项目环境、理解基础类库以及如何创建基本的UI组件。通过这一章的学习,读者可以掌握ExtJS的核心概念,并为后续学习打下坚实的基础...