首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ExtJS4.0源代码分析-种系统之类的创建

2012-08-22 
ExtJS4.0源代码分析----类系统之类的创建ExtJS4.0的类系统是整个框架的基础且核心的架构设施,其它所有的功

ExtJS4.0源代码分析----类系统之类的创建
ExtJS4.0的类系统是整个框架的基础且核心的架构设施,其它所有的功能扩展都是建立在类系统上的。在ExtJS4.0中,类系统相对以前的版本有大幅度的改变,在以前的版本中,定义一个新类是在一个已经存在的类如Object的基础上调用


类创建前会有loader,extend,mixins,config,statics对类增加配置信息,且这些preprocessor是按顺序进行的,postprscessor主要包括alias(为类设置别名)与legacy等。

Ext.define实际上是ClassManager中的create方法的别名,ClassManager是一个单例,里面主要定义了与类的创建(create)与实例化类(instantiate)相关的方法。所以


经过上述一番注册,此时的前置处理器及顺序为['className','loader','extend','statics','inheritableStatics','mixins','config'],
然后就会按照顺序调用这些preprocessor。className与loader前置处理器及其作用在前面已经分析过,经loader处理后,data中extend,requires及mixins指定的类被加载且被转换成了实际的类,之后会调用extend前置处理器,代码如下:


singleton后置处理器的定义如下:


uses后置处理器的定义如下:
set: function(name, value) {            var targetName = this.getName(value);            this.classes[name] = this.setNamespace(name, value);            if (targetName && targetName !== name) {                this.maps.alternateToName[name] = targetName;            }            return this;        }



至此,整个类的创建便完成了。 1 楼 xyster8828 2011-10-14   百度框架哥.......

热点排行