在Sencha Touch中存储设置的位置?

时间:2014-05-28 04:37:13

标签: extjs sencha-touch-2

我想在使用Sencha Touch构建的应用中的单个位置合并我的RESTFul API的网址库。我能把它放在哪里最好的地方?

有一个明显的选项可以将它存储在localStorage中,但这是一个很好的做法吗?

3 个答案:

答案 0 :(得分:2)

始终将您的网址基础保存在像util.js(utility.js)这样的单独文件中。您的文件路径应为app> util> Util.js.您可以在此处保留常用功能,如animateItem,showLoading / hideLoading,自定义函数等,以便您可以在整个应用程序中使用相同的功能。要在您的应用中加载此文件,请执行以下操作:

<强> app.js

Ext.application({
    name: 'HelloWorld',        
    requires: [
     'HelloWorld.util.Util'
    ],
    view: []
})

有关sencha touch的最佳做法,您可以看到:Sencha Touch Blog

答案 1 :(得分:2)

当我想支持MVC结构时,我创建文件Config.js并将其放在以下位置的应用程序树中:

enter image description here

在Config.js中:

Ext.define('MyApp.config.Config', {
    singleton: true,
    config: { /** here you can put any objects of your choice that will be accessible globally**/
        baseURL         : Ext.os.is.Android ? 'http://live_url_here.com' : 'http://localhost/testing_locally',
        topBannerUrl    : 'http://some_url/banner.png',
        anotherGlobalParam      : true
    },
    constructor: function(config) {

       this.initConfig(config);
       return this;    
    }
});

这些配置参数将在整个应用程序中可见。

你可以得到它们:

MyApp.config.Config.getBaseImgURL(); /* returns 'http://some_url/banner.png' */
MyApp.config.Config.getAnotherGlobalParam(); /* returns true */

或设置:

MyApp.config.Config.setBaseImgURL('new_url');
MyApp.config.Config.setAnotherGlobalParam(false);

当您的项目需要许多配置参数时,此解决方案可能特别方便 我希望它也适合你。

答案 2 :(得分:1)

为Anubis推荐+1。

这样的事情:

Ext.define('MyApp.Const', {
    statics:{
        url1:'....',
        url2:'....'
    }
})

然后您可以通过以下方式访问您的网址:

MyApp.Const.url1

当然,您必须要求Const课程,但您不需要对其进行实例化。