0

アプリでアプリ レベルのグローバルを使用していますが、iOS では問題なく動作します。Android では、次のエラーが発生します:baseFetchUrl未定義のプロパティを読み取れません。

なぜこれが起こるのか誰にも提案がありますか?

Ext.application({
    name: 'MyApp',

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

1 に答える 1

2

私は同じ問題に遭遇しました-解決策が得られませんでした(おそらく、パッケージングプロセスが定義の順序を混乱させて、「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 を使用できます (コンストラクターを開始するのを忘れた場合に必要になります)

これが役に立てば幸いです (追伸。コメントを送信する前に、間違いなくスペル チェックを行う必要があります。そうしないと、多くの編集を行う必要があります。そのための時間はありません ;))

于 2013-03-26T15:55:55.577 に答える