`
hongyongqq
  • 浏览: 28843 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[转]ExtJS编程基础--类

 
阅读更多
创建一个类
Javascript与其他的面向对象语言不同,如C++,Java或PHP等。它并不是基于类的,而是基于原型的一种语言。

    在Javascript中创建一个类是非常容易的:你不必通过定义一个类然后实例化该类来创建一个对象。我们在这里使用了一个对象构造器。它满足了使用单个对象的场合。如果我们需要使用同一个类型的多个对象,我们必须使用一个构造器函数和new关键字。
例:
Person 类: 使用 Person 类:
var Person = function(config) {

Ext.apply(this,config);

}; var me = new Person({fName: ‘Aaron’,lName:‘Conran’, dob:’03/23/1984’});

Ext.apply
Ext.apply 复制一个对象所有属性到另一个.
Ext.apply 通常是在一开始被创建者拷贝配置参数到这个空间
New 关键字,创建了新的空白对象的空间。
您还可以提供第三个参数作为默认配置。
例:
复制内容到剪贴板
代码:

Ext.apply(this, config);
// with defaults
var defConfig = {test: ‘abc’};
Ext.apply(this, config, defConfig);
Ext.applyIf
   Ext.applyIf 作用类似于 Ext.apply 
   唯一区别:如果属性已经存在,Ext.applyIf不会将它重写 。
例:
复制内容到剪贴板
代码:

var point = point || {};
var default = {x: 0, y: 0};
//将default拷贝到point,如果point没有相应属性
Ext.applyIf(point, default);
Ext.extend
Ext.extend 是用来扩展或继承,从已存在的类。

通用模式 :
复制内容到剪贴板
代码:

var SubClass = function() {
SubClass.superclass.constructor.call(this);
};
Ext.extend(SubClass, BaseClass, {
newMethod : function() {},
overriddenMethod : function() {}
};
SubClass继承BaseClass、覆盖 overridenMethod 方法并新增 newMethod方法.

superclass.constructor
superclass.constructor 用于指定超类或者基类构造。
我们使用javascript的call方法运行构造函数,在适用范围上。
第一个参数总是this,以保证构造器工作在调用函数的作用域。其它参数将被传递给父类的构造函数
例:
复制内容到剪贴板
代码:

BaseClass.superclass.constructor.call(this, config);
继承一个Ext类
继承和定制Ext的类,是很容易的
   目标:创造一个对继承BasicDialog
   -创建DefaultDialog类并继承BasicDialog
   -提供一套默认配置进行对话
      ·modal, width, height, shadow, draggable等
   -无需添加/覆盖方法到BasicDialog
复制内容到剪贴板
代码:

var DefaultDialog = function(config) {
      var config = config || {}; // 默认配置以清空对象
      var defConfig = {title: ‘Default’, // 提供一个默认配置
                      height: 130,
                      width: 250,
                      shadow: true,
                      modal: true,
                      draggable:true,
                      fixedcenter:true,
                     collapsible: false,
                      closable: true,
                      resizable:false};
       Ext.applyIf(config, defConfig); // 将defConfig 的所有属性复制到config ,如果config 没有相应的属性
       var el = Ext.DomHelper.append(document.body, {tag: ‘div’}); // 创建 el
       DefaultDialog.superclass.constructor.call(this, el, config); // 运行 superclass
};
Ext.extend(DefaultDialog, Ext.BasicDialog); // DefaultDialog 继承 Ext.BasicDialog
DefaultDialog例子
   现在,我们可以重新使用DefaultDialog 类

通过配置选项,我们可以重置默认选项

    dlg = new DefaultDialog({title: 'First Dialog', width: 300}); 
    dlg.show();

通过省略配置,我们假定为默认选项

    dlg2 = new DefaultDialog();
    dlg2.show();
分享到:
评论

相关推荐

    ExtJS----HelloWorld程序源码

    通过理解和实践这个“HelloWorld”程序,你将对ExtJS的基本架构和组件系统有初步认识,为后续的复杂应用开发打下基础。同时,这也只是一个起点,ExtJS提供的强大功能远不止于此,例如数据网格、表单、图表、工具提示...

    extjs-3.0-all-src

    基于事件驱动的编程是ExtJS的核心特性之一。所有组件都可以监听和触发事件,这样可以实现组件间的通信和联动。开发者可以通过监听事件来响应用户的交互,实现动态效果和业务逻辑。 6. **Ajax和JSON支持**: ExtJS...

    ExtJS2Samples-v2.0.0.zip_C语言_ExtJS2Samples_V2 _extjs_site:www.pu

    本资料包"ExtJS2Samples-v2.0.0.zip"正是将这两者巧妙融合的实例集,旨在帮助开发者深入理解C语言基础并熟练运用ExtJS2框架进行前端开发。 C语言是计算机科学的基础,它的语法简洁明了,对内存管理有直接的控制,是...

    extjs培训2011-12-17

    ### ExtJS基础知识介绍 #### 一、ExtJS简介 ExtJS是一个高级的JavaScript库,用于构建功能丰富的Web应用程序。此框架允许开发者创建出外观华丽且交互性极强的RIA(Rich Internet Applications)。ExtJS的优势在于...

    使用OOP的方式扩展ExtJS UI组建 - 更新版

    首先,理解ExtJS的基础是至关重要的。ExtJS提供了一套完整的组件模型,包括窗口(Window)、面板(Panel)、表格(Grid)、表单(Form)等,这些组件都是基于OOP设计的。每个组件都是一个类,我们可以创建它们的实例...

    Extjs4.1.1

    课程从基础开始,配合项目实战应用,让用户在最短的时间内掌握Extjs的高级应用。本课程是目前市面上Extjs最新版本的深入讲解 Extjs基础入门系列: 第一讲.ExtJs初识及其环境搭建 第二讲.开始ExtJs梦想之旅 第三...

    商业源码-编程源码-ResviewCRM的ExtJS页面程序.zip

    ResviewCRM是一款基于ExtJS开发的商业客户关系管理(CRM)系统,其源码提供了深入理解Web应用程序构建的宝贵资源。ExtJS是一个流行的JavaScript库,用于构建富客户端的桌面级Web应用,它提供了丰富的组件库,包括...

    ExtJS4.0-WEB开发项目源代码

    通过深入研究这些源代码,你不仅可以提升ExtJS的编程技能,还能掌握Web应用开发的最佳实践,对于提升个人的Web开发能力大有裨益。同时,这个资源也是解决实际开发问题和挑战的有效参考。所以,如果你对ExtJS或者Web...

    extjs-4.1.1完整压缩包

    1. **组件化开发**:EXTJS 4.1.1 强调组件化编程,允许开发者通过组合各种UI组件(如表格、面板、按钮等)来构建复杂的用户界面。这些组件具有自包含的样式和行为,易于重用和维护。 2. **布局管理**:EXTJS 提供了...

    轻松搞定Extjs 带目录

    这是Extjs实现面向对象编程的基础。 - **命名空间**: 命名空间在Extjs中用于组织和管理代码,避免变量和函数名的冲突。 #### 3. Extjs OOP Extjs支持面向对象编程,其对象模型包括: - 类的定义(Ext.extend) - ...

    extjs-4.1.1 源码下载、文档

    EXTJS 4.1.1是该库的一个版本,它在前一版本的基础上进行了一系列的优化和增强,为开发者提供了更多功能和更好的性能。下面将详细介绍EXTJS 4.1.1的源码、API文档以及相关实例。 首先,EXTJS 4.1.1的源码是理解...

    ExtJS实用开发手册-快速入门

    - **配置属性**:在ExtJS中,除了一些特殊的组件或类以外,所有的组件在初始化时都可以在构造函数中使用一个包含属性名称及值的对象。该对象中的信息即是组件的配置属性。 ```javascript var panel = new Ext....

    Extjs2-ssh框架完成MySQL的增删改查.zip

    1. Spring框架:Spring是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等特性。在SSH中,Spring主要负责管理其他组件,如数据库连接、事务控制和业务对象等。通过Spring的IoC容器,可以...

    ExtJS6.5-Modern实例源码

    本工程涵盖了 Ext Js Modern 开发的各方面的基础知识, 比如开发环境搭建, 项目结构详解, 如何使用 api, 数据的增删查该基本示例, 以实际操作为主,非常好的入门项目 本书的各章节之间有一定的知识关联, 由浅至...

    extjs-tree-editor-example:树面板项目和表单面板输入之间的迭代示例

    5. **JavaScript**:项目的基础编程语言,用于实现所有前端逻辑。 6. **在线预览**:通过rawgit服务,用户可以直接在线查看和测试项目的实际效果。 7. 版本控制:提及的"3.4.11"和"2.1.20"是库的版本号,表示项目...

    ExtJS5 整合Spring4之二

    标题 "ExtJS5 整合Spring4之二" 暗示了这是一个关于将流行的JavaScript框架ExtJS5与Java后端框架Spring4集成的主题。在Web应用开发中,这种集成允许开发者利用ExtJS5的富客户端功能和Spring4的强大后端服务。下面将...

    ExtJS中文手册.pdf

    - **继承机制**:ExtJS支持面向对象编程中的继承特性,可以扩展现有的组件类。 - **继承示例**:文档中给出了一些具体的继承示例,帮助理解继承的用法。 #### 22. 补充资料 - **Ext2概述**:介绍了ExtJS 2版本的...

Global site tag (gtag.js) - Google Analytics