6

如何在类中创建静态字段,然后在 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但使用App.util.Config.self.url.USER访问 USER 字段。查看 Sencha 文档上的示例,看来我应该能够以前一种方式访问​​该字段:

请参阅此链接中的静态部分以及它们如何访问 Computer.InstanceCount 字段

4

2 回答 2

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;
    }
});
于 2013-02-28T11:12:39.753 回答
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]);
    }
});
于 2014-12-10T17:29:06.687 回答