Extjs类系统静态

use*_*456 2 extjs extjs4

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

我是通过以下方式做到这一点的:

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

Ext.define('Controls.Plugins.Nzok.XUtility', {
     statics : {
         getTest : function(test) { return test }
     }
})
Run Code Online (Sandbox Code Playgroud)

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

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

    useTest : function() {
        var testResult = Controls.Plugins.Nzok.XUtility.getTest(2);
    }
})
Run Code Online (Sandbox Code Playgroud)

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

Eri*_*ric 7

alternateClassName配置的伎俩.

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

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