码迷,mamicode.com
首页 > Web开发 > 详细

Extjs 源码分析EXTJS 预处理器之className

时间:2015-07-22 18:08:19      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

Class.registerPreprocessor(‘className‘, function(cls, data) {
        if (data.$className) {
            cls.$className = data.$className;
            //<debug>
            cls.displayName = cls.$className;
            //</debug>
        }
        
        //<debug>
        Ext.classSystemMonitor && Ext.classSystemMonitor(cls, ‘Ext.ClassManager#classNamePreprocessor‘, arguments);
        //</debug>
    }, true, ‘first‘);

  首先来看className处理器 ,这是比较简单的,第三个参数为true,表示这是一个必须执行的预处理器,通过debug来进行源代码的调试。

Ext.define("My.test.AAA",{aaa:‘aaa‘,bbb:‘bbb‘});

技术分享

cls 可以理解为一个类,给这个类添加一个静态属性$className,通过观察My.test.AAA可以发现 这是一个function,里面有如下图中所示的一些静态属性和方法,

其中有一些是从Base.js中继承的,有一个属性$className 就是className预处理器添加的。

技术分享

My.test.AAA这时已经添加到全局变量中,如下图所示

技术分享

 

Extjs 源码分析EXTJS 预处理器之className

标签:

原文地址:http://www.cnblogs.com/creazyguagua/p/4667768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!