我的Dr. Evil应用程序name
定义为DrEvil
:
Ext.define('DrEvil.Application', {
extend: 'Ext.app.Application',
name: 'DrEvil',
stores: [
// TODO: add global / shared stores here
],
launch: function () {
// TODO - Launch the application
}
});
在我的视图模型中,有没有办法检索此名称?我希望像Ext.app.name
这样的东西会把它拉起来,但它会变空。我一直在迭代Ext
,Ext.app
等属性,似乎无法找到它。
这可能是一件非常微不足道的事情,它让我看起来很正面,但我做了 ExtJS的谷歌N变种获取视图模型中的应用程序名称,但没有任何相关内容。
我试图说服公司购买ExtJS的Eclipse插件!可能在一秒钟内回答这个问题。
答案 0 :(得分:4)
如果您不了解应用程序,那么它实际上并不明显。
这是通用代码,可以执行您想要的操作:
var name = Ext.app.Application.instance.getName();
或者在ExtJS的最新版本中:
var name = Ext.getApplication().getName();
答案 1 :(得分:1)
您正在寻找应用程序命名空间。
class Device {}
class Router extends Device {}
class GenericDAO<T, ID extends Serializable> {
protected Class<T> persistentClass;
protected Class<ID> idClass;
private GenericDAO() {
Class<?>[] typeArguments = TypeResolver.resolveRawArguments(GenericDAO.class, getClass());
this.persistentClass = (Class<T>) typeArguments[0];
this.idClass = (Class<ID>) typeArguments[1];
}
}
class DeviceDAO<T extends Device> extends GenericDAO<T, Long> {}
class RouterDAO extends DeviceDAO<Router> {}
答案 2 :(得分:0)
如果您正在使用Ext 4+并使用Ext.application
语法创建应用程序,那么将在全局命名空间中引用您的应用程序:
Ext.application({
name: 'DrEvil',
launch: function() {
// do some stuff
}
});
http://docs.extjs.com/extjs/4.1.3/#!/api/Ext.app.Application
此时,应在全局范围内定义DrEvil
。现在,您应该能够通过DrEvil.getApplication().name
将应用程序名称引用为字符串,尽管这可能对您要执行的操作有点多余。
希望这有帮助。