我想在使用Sencha Touch构建的应用中的单个位置合并我的RESTFul API的网址库。我能把它放在哪里最好的地方?
有一个明显的选项可以将它存储在localStorage中,但这是一个很好的做法吗?
答案 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并将其放在以下位置的应用程序树中:
在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
课程,但您不需要对其进行实例化。