我的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
等的属性,似乎无法找到它。
这可能是一件非常微不足道的事情,它让我看起来很正面,但我确实在谷歌N版本的ExtJS获得了视图模型中的应用程序名称,没有相关内容。
我试图说服公司购买ExtJS的Eclipse插件!可能在一秒钟内回答这个问题。
如果您不了解应用程序,那么它实际上并不明显。
这是通用代码,可以执行您想要的操作:
var name = Ext.app.Application.instance.getName();
或者在ExtJS的最新版本中:
var name = Ext.getApplication().getName();
您正在寻找应用程序命名空间。
DrEvil.app.getApplication().getName()
如果您正在使用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
将应用程序名称引用为字符串,尽管这可能对您要执行的操作有点多余。
希望这可以帮助。