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

EXT 的继承

阅读更多

Ext提供了这样的一个实用函数 Ext.extend (API 参考) 在EXT框架中实现类继承的机制。这赋予了你扩展任何JavaScript基类的能力,而无须对类自身进行代码的修改(这里通常指的是子类,或是从它继承的,一个基类)扩展Ext组件这是个较理想的方法。

要从一个现有的类创建出一个新类,首先要通过一个函数声明新类的构造器,然后调用新类属性所共享的扩展方法。这些共享的属性通常是方法,但是如果要在实例之间共享数据(例如,Java中的静态类变量),应该也一同声明。

JavsScript并没有提供一个自动的调用父类构造器的机制,所以你必须通过属性superclass在你的构造器中显式调用父类。第一个参数总是this,以保证构造器工作在调用函数的作用域。
view sourceprint?
01.
MyNewClass = function(arg1, arg2, etc) {
02.
// 显式调用父类的构造函数
03.
MyNewClass.superclass.constructor.call(this, arg1, arg2, etc);
04.
};
05.
 
06.
Ext.extend(MyNewClass, SomeBaseClass, {
07.
theDocument: Ext.get(document),
08.
myNewFn1: function() {
09.
// etc.
10.
},
11.
myNewFn2: function() {
12.
// etc.
13.
}
14.
});

下面的一个例子是Ext的实际案例,用于可缩放,拖动元素,X、Y的坐标值指定了对象可在垂直、水平方向拖动的距离。// 创建新类的构造函数
view sourceprint?
01.
Ext.ResizableConstrained = function(el, config){
02.
Ext.ResizableConstrained.superclass.constructor.call(this, el, config);
03.
};
04.
 
05.
// 扩展基类
06.
Ext.extend(Ext.ResizableConstrained, Ext.Resizable, {
07.
setXConstraint : function(left, right){
08.
// 得到父类的属性dd和setXConstraint的引用
09.
this.dd.setXConstraint(left, right);
10.
},
11.
 
12.
setYConstraint : function(up, down){
13.
// 得到父类的属性dd和setYConstraint的引用
14.
this.dd.setYConstraint(up, down);
15.
}
16.
});
17.
 
18.
// 创建新类的实例
19.
var myResizable = new Ext.ResizableConstrained('resize-el', {
20.
width: 200,
21.
height: 75,
22.
minWidth:100,
23.
minHeight:50,
24.
maxHeight:150,
25.
draggable:true
26.
});
27.
 
28.
//调用新方法
29.
myResizable.setYConstraint(0,300);
30.
myResizable.setXConstraint(0,300);

按照直白语言,你可以把上面的代码理解成为:”Ext.ResizableConstrained 扩展了Ext.Resizable并实现了这些方法"。

分享到:
评论

相关推荐

    Ext继承--Ext自定义组件的书写方式

    目的:该示例非常详细注释说明Ext的面向对象的编程方式,使用继承,然后重写父类的方法,以及注册自定义事件说明Ext框架是事件驱动的框架编程。 阅读对象:本中心学习Ext面向对象编程的人员 阅读条件:掌握OO的思路...

    ext继承重写

    ext继承重写,达到了很高的水平。使用了很多方式,等等。

    Ext继承和扩展

    NULL 博文链接:https://anniexuguoan.iteye.com/blog/767813

    Ext继承分析

    ExtJS是不错的JS框架,这份材料是对继承开发的分析

    ext 继承(extend) 理解练习

    NULL 博文链接:https://wmch.iteye.com/blog/974219

    Ext继承和扩展写的例子。

    NULL 博文链接:https://anniexuguoan.iteye.com/blog/772754

    EXT dojochina Ext类继承.rar

    EXT dojochina Ext类继承.rar EXT dojochina Ext类继承.rar

    Ext官方中文教程(可打包下载)

    Ext的类继承 从源码生成Ext 基础用法: DomQuery基础 Ext中的事件 简述模板 模板(Templates)的函数 教你创建Ext UI控件 事件的处理 Ext中的继承 Ext的类设计 Ajax通讯 JSON处理方法 函数的原型扩展 组件的...

    EXT是一款强大的AJAX框架

    /* *CRUD面板基类 */ //继承EXT的Panel,创建CRUD面板 Mis.Ext.CrudPanel=Ext.extend(Ext.Panel,{……}); //限于篇幅就不列出全部代码 EXT里的继承用的是Ext.extend(组件名,{实现代码}); 要使用这个CRUD面板,...

    Ext框架结构 Ext目录结构

    Ext 2.2 所有类结构继承关系和类说明图

    ext面向对象和继承

    NULL 博文链接:https://angie-hawk7.iteye.com/blog/925390

    Ext+JS高级程序设计.rar

    9.1 利用Ext.extend实现继承 254 9.2 与Ext扩展相关的预备知识 256 9.2.1 定义命名空间 256 9.2.2 重写构造函数 257 9.2.3 继承组件的一些准备 257 9.2.4 常用的辅助函数 258 9.2.5 使用xtype 258 9.3 实现一个功能...

    Ext江湖(完整+书签).part1

    包括JS基础、Ext的DOM和CSS封装、内置对象的扩展、事件系统、Ajax和Direct、数据和缓存架构、面向对象和继承、UI组件、布局管理、模板、特效、图表和报表、Ext4新特性介绍等内容。文中穿插大量的实例和基础理论解析...

    Extjs 继承Ext.data.Store不起作用原因分析及解决

    关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....

    Ext 3.0--下载

    4.继承客户端和服务器端数据绑定 5.ListView组件 6.强大的按钮和工具栏组件 7.ARIA/Section 508 访问性改进 8.更新了样式表,方便自定义 9.更新了ext event注册模块 10.增强了ext.ajax 11.浏览器历史支持 当然最期待...

    extDatePicker

    继承 Ext日历控件 支持全选 反选 清除等功能

    Ext实现java的面向对象实例

    Ext的面向对象实例: 1.命名空间 2.类实例属性 3.类实例方法 4.类静态方法 5.构造方法 6.类继承 7.类实例方法重写 8.命名空间别名 9.类别名 10.事件队列

    ext6.5 sencha 必须的两个主键

    ext6 必要的两个主键 不可或缺 主要用于创建对象 自定义对象,以实现继承,自定义的功能

    Ext 学习中文手册

    EXT中的继承 71 补充资料 73 Ext 2 概述 73 组件模型 Component Model 74 容器模型Container Model 78 布局 Layouts 80 Grid 82 XTemplate 83 DataView 84 其它新组件 84 EXT2简介 85 下载Ext 85 开始! 85 ...

Global site tag (gtag.js) - Google Analytics