Extjs 设置Ext.data.proxy.Server:api属性内联

Extjs 设置Ext.data.proxy.Server:api属性内联,extjs,sencha-touch,sencha-touch-2,extjs5,sencha-architect,Extjs,Sencha Touch,Sencha Touch 2,Extjs5,Sencha Architect,可以从定义中指定Ext store代理api对象。但是我想在api请求链接中附加一个基本url。我知道这可以通过控制器或商店的init功能来实现。但对我来说,这似乎是一个很好的解决办法 我试图在应用程序范围中创建一个“getBaseUrl()”函数,并希望它能在有url或api存储属性定义的应用程序中使用 ... ... store:{ myStore:{ ... proxy:{ ... api{ read: ApplicationName.getBaseUrl()+"t

可以从定义中指定Ext store代理api对象。但是我想在api请求链接中附加一个基本url。我知道这可以通过控制器或商店的init功能来实现。但对我来说,这似乎是一个很好的解决办法

我试图在应用程序范围中创建一个“getBaseUrl()”函数,并希望它能在有url或api存储属性定义的应用程序中使用

...
...
store:{
myStore:{
...
proxy:{
    ...
    api{
    read: ApplicationName.getBaseUrl()+"the/rest/of/the/read-url",
    ...
    }
    ...
...

但是我无法在Ext.data.proxy.Server:api对象中获取应用程序上下文或控制器上下文。你能帮我找到一个更简洁的方法,而不是从控制器定义存储并应用api,或者从存储的init分配代理api。

你可以在app.js文件中添加
getBaseUrl
函数,并可以使用
ApplicationName.app.getBaseUrl()
访问它。实际上,这个解决方案不起作用。但是我能够从实用程序类中的静态上下文访问getBaseUrl()函数,例如:Ext.define('AppName.utilities.Utils',{alternateClassName:'Utils.Constants',statics:{getBaseUrl:function(){return“Base_-Url”;}},});但是我必须在app文件夹中添加utils类,并将其添加到applicationjs文件中的views[]数组中,才能完成此操作。不过,我无法通过architect在应用程序js文件中直接定义静态实用程序。