0

我在我的应用程序中使用应用程序级别的全局变量,它们在 iOS 上运行良好。在 Android 上,我收到以下错误:无法读取baseFetchUrl未定义的属性。

有没有人有任何建议为什么会发生这种情况?

Ext.application({
    name: 'MyApp',

    //Development URLs
    baseFetchUrl: 'http://xxxx',
    baseStoreUrl: 'http://xxxx',
    rootApiUrl: 'http://xxxx',
4

1 回答 1

2

我遇到了同样的问题 - 没有得到解决方案(我认为这与 senach 的打包方法有关,也许打包过程打乱了定义的顺序,因此尚未定义“basFetchUrl”)。可能最好的方法是创建一个外部配置文件。例子:

Ext.define('AppName.Config', {
    singleton : true,

    config : {
        urls : {
            baseUrl     : 'http://domain.de/file.php',
            superUrl    : 'http://domain.de/files.php'
        },
    },
    constructor: function(config) { // with this you create kind of object, simple said
        this.initConfig(config);
        return this;
    }
});

在你的 app.js 添加/扩展

requires: [
'AppName.Config' // make sencha loading the file
]

现在您可以访问这些数据 URL,例如:

AppName.Config.getUrls().baseUrl

或者,您可以使用(不推荐) AppName.Config.config.urls.baseUrl (如果我们忘记启动构造函数,则需要

希望这会有所帮助(PS。在发送我的评论之前我绝对应该做一些拼写检查,否则我必须做很多编辑 - 没有人有时间这样做;))

于 2013-03-26T15:55:55.577 回答