ExtJS 单例实用程序类别名

问题描述 投票:0回答:1

在 ExtJS 6.2 中,我想创建单例静态实用程序类,例如

util.string
util.math
,在我的代码中,我会调用这样的函数
util.math.sqrt(x);

当我需要使用这些类时,我必须导入它们:

Ext.define('MyAPP.Application', {
   extend: 'Ext.app.Application',

   name: 'MyAPP',

   requires: [
      'MyAPP.Util.math',
      'MyAPP.Util.string',
   ]
});

但是要使用我必须输入

MyAPP.Util.math.sqrt(x)
,我只想使用
util.math.sqrt(x);
,我尝试使用别名,但它对我不起作用:

Ext.define('MyAPP.Util.math', {
   alias: 'util.math',
   singleton: true,
});

使用

alternateClassName: 'util.math'
可以,但似乎
alternateClassName
只能用于向后兼容。

javascript class extjs singleton
1个回答
0
投票

我在我的 ExtJS 7 项目中使用 alternateClassName 作为类别名,就像你已经写的那样:

Ext.define('Company.controller.ThemeController', {
    singleton: true,
    alternateClassName: 'ThmCtrl',
    ...
    someMethod: function(){ }

然后在其他文件中,它的工作原理如下:

ThmCtrl.someMethod()
© www.soinside.com 2019 - 2024. All rights reserved.