文档章节

EXTJS 4.0 核心代码分析 (一)

CandySunPlus
 CandySunPlus
发布于 2011/10/12 01:31
字数 327
阅读 717
收藏 0

最近在着手做一个小型的WEBUI,正好ExtJS4.0放出,和ExtJs3.0对比,变化还是很大的。

这里先着重讲一下 ExtJs4.0 Class的实现:

ExtJs4.0中,涉及Class实现的主要是Ext Core , Ext.Class, Ext.Base, Ext.ClassManager 这几个对象

在ExtJs4.0中,声明类的方式改为了 Ext.define('ClassName',{}); 这个方法其实是Ext.ClassManager.create的一个别名,在这个过程中,首先通过 Ext.Class建立原始Class,填充应用Ext.define中的配置信息,类预处理器。

Ext.ClassManager 中设定 类后处理器,在原始类建立完成后触发。

默认的类预处理有:

Class.setDefaultPreprocessors(['extend', 'statics', 'inheritableStatics', 'mixins', 'config']);

分别用于 从Ext.Base中继承始祖类方法属性,设置类静态成员,可继承静态成员,类集,类配置

默认的类后处理有

Manager.setDefaultPostprocessors(['alias', 'singleton', 'alternateClassName']);

分别用于 设置别名,是单身类(类似静态类),交替类名。

由此基本完成一个Class的建立,当然,以上只是粗略的一说,在实际建立过程中,还会作很多工作,比如:父类的设定,类中this的指定等等,同时,Ext.ClassManager中也有很多的方法用于管理已有类,生成新类等等。

以上单身类例如:

Ext.define('Logger', {
    singleton: true,
    log: function(msg) {
        console.log(msg);
    }
});

Logger.log('Hello');

© 著作权归作者所有

CandySunPlus
粉丝 4
博文 7
码字总数 1199
作品 0
朝阳
高级程序员
私信 提问
加载中

评论(1)

IT_VIRUS
IT_VIRUS
好文章啊 我知道个学习extjs4.0的地址
http://www.uspcat.com/forum.php?mod=viewthread&tid=197&extra=
ExtJS 4.0 最终版发布

ExtJS 4.0 正式版终于来了。ExtJS 4.0 不仅在框架本身做了很多改进,也带来了很多新的特性,用来开发下一代的可靠的Web应用。 下载 Ext JS 4.0 查看 Release Notes 查看 Examples ExtJS 主要...

红薯
2011/04/26
25.8K
24
ExtJs4.1目录结构介绍和使用说明

一、在做ExtJs开发之前首先要到网站上下载ExtJs的开发包,我用的最新版本是4.1.1。此版本相对于之前的版本目录结构发生了一些变化,没有了adapter目录, 目录结构如下 文件/文件夹名的作用:...

Junn
2013/01/17
6.3K
1
ExtJS开发环境的搭建,spket工具安装详解

集成:ExtJS,MyEcplise和Spket。 前提:安装好的myecplise(我用的是MyEcplise10) 步骤: 先安装Spket 1 下载Spket的jar文件,spket-1.6.18.jar 2 将jar文件解压到MyEcplise的dropins文件夹...

day戴
2014/09/04
4.7K
0
Dijit、ExtJS、jQuery UI 异同浅析

简介: 当今,各类 JavaScript 框架在前端开发中已经相当普及。Dojo、Ext jQuery 等主流 JavaScript 框架不仅提供了一系列核心 API 来屏蔽浏览器差异,简化 DOM 操作、增强 JavaScript 原生 ...

索隆
2012/02/21
526
0
ExtJS 4.0.1 发布,性能提升和补丁修复

ExtJS 4.0 正式版发布三周后,ExtJS 发布了一个补丁版本,该版本包含 100 项增强和bug修复,包括文档方面的完善以及性能的提升,详情请看这里。 Download Ext JS 4.0.1 ExtJS 主要用来开发R...

红薯
2011/05/19
4.8K
16

没有更多内容

加载失败,请刷新页面

加载更多

关于运维,该怎么决定它的方向,这个似工作又似兴趣的存在

我之前主要从事网络、桌面、机房管理等相关工作,这些工作使我迷惘,这应该是大多数运维人都经历过的过程; 18年国庆,我从国内前三的消费金融公司裸辞,下海创业,就是想要摆脱这样的困境。...

网络小虾米
19分钟前
4
0
Java Timer的用法

Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("11232"); } }, 200000 , 1000); public void schedule(TimerTask task, long delay......

林词
23分钟前
4
0
使用js动态加载外部js文件以及动态创建script脚本

动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该DOM动态添加的脚本。和操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。 动态加载外的外...

Bing309
30分钟前
3
0
从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特...

阿里巴巴云原生
34分钟前
3
0
天气获取

本文转载于:专业的前端网站➨天气获取 $.get("http://wthrcdn.etouch.cn/WeatherApi", { citykey: cityCode }, function (d) { //创建文档对象 var parser = new ......

前端老手
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部