如何在类中创建静态字段,然后在Sencha Touch 2中从该类外部访问它们?
例如,我创建了一个带有单个静态的简单单例:
Ext.define('App.util.Config', {
singleton: true,
statics: {
url: {
USER: 'http://localhost:3436/api/user'
}
},
config: { },
constructor: function (config) {
this.initConfig(config);
this.callParent([config]);
}
});
我无法使用 App.util.Config.url.USER 访问USER字段,但使用 App.util.Config.self.url.USER 。查看Sencha文档上的示例,看起来我应该能够以前一种方式访问该字段:
See Statics Section in this link and how they access the Computer.InstanceCount field
答案 0 :(得分:6)
我认为这就是你想要的
Ext.define('App.util.Config', {
singleton: true,
statics: {
url: {
USER: 'http://localhost:3436/api/user'
}
},
config: { },
constructor: function (config) {
var user=this.self.url.User;
}
});
答案 1 :(得分:1)
我意识到这是一个古老的问题,但在寻找其他东西时我偶然发现了它。
我认为问题在于使用singleton:true
。使用它时,一切都是静态的,不需要将属性显式定义为静态。
以下应该是正确的用法:
Ext.define('App.util.Config', {
singleton: true,
url: {
USER: 'http://localhost:3436/api/user'
},
config: { },
constructor: function (config) {
this.initConfig(config);
this.callParent([config]);
}
});