Extjs类系统静态

时间:2012-08-23 17:01:44

标签: extjs extjs4

我想用实用程序函数定义一个类。我正在使用Extjs类系统。

我是按照以下方式做的:

Ext.ns('Controls.Plugins.Nzok')

Ext.define('Controls.Plugins.Nzok.XUtility', {
     statics : {
         getTest : function(test) { return test }
     }
})

现在,当我想使用getTest方法时,我必须要求该类并编写完整的类名

Ext.define('Controls.Plugins.Nzok', {
    requires : ['Controls.Plugins.Nzok.XUtility'],

    useTest : function() {
        var testResult = Controls.Plugins.Nzok.XUtility.getTest(2);
    }
})

我的问题是符号太长了。每次写下Controls.Plugins.Nzok.XUtility都非常不方便。有没有解决方案?

1 个答案:

答案 0 :(得分:7)

alternateClassName配置可以解决问题。

Ext.define('Controls.Plugins.Nzok.XUtility', {
    alternateClassName: 'Controls.XUtil',  // <--- this is your shorthand
    statics : {
        getTest : function(test) { return test }
    }
});

作为旁注,Ext.define会根据您的班级名称自动创建名称空间,因此Ext.define('Controls.Plugins.Nzok.XUtility'会为您生成Controls.Plugins.Nzok名称空间。