根据上下文使extjs4数据存储url动态化

时间:2012-12-11 08:01:33

标签: extjs4 extjs-mvc extjs-stores

我有一个网格和相关商店,用于显示有关两个不同实体的数据,即系统和客户。如果在单击“系统”链接后显示网格, 要使用的网址是/ configuration / systemid / 234,如果来自客户链接网址,则应为/ configuration / customerid / 234。注意,值234也将改变。我怎样才能在ExtJs4 MVC模型中实现这一点。

有没有办法提供如下的网址并替换占位符? url:'/ configuration / {context} / {contextid}'

或者我可以将上下文存储在对象中并在此处使用,例如 '/ configuration /'+ Context.type +'/'+ Context.id

或者是否有标准解决方案?

网址由后端dvlprs提供,无法更改:(

我将商店定义如下

Ext.define('MyApp.store.Configuration', {
extend: 'Ext.data.Store',
model: 'MyApp.model.Configuration',
autoLoad: true,
proxy: {
    type: 'ajax',
url : '/configuration/customerid/234'
}

})

感谢

1 个答案:

答案 0 :(得分:0)

var yourStore = Ext.getStore('yourStoreID');
Context.type = customerid;
Context.id = 234;
yourStore.getProxy().setUrl('/configuration/' + Context.type + '/' + Context.id);

我之前使用过这样的东西,因为我的商店有不同的GET和POST网址。因此,您可以轻松地更改URL。