我曾经在 extjs4 中写过这个:
Ext.define('Superstore', {
extends: 'Ext.data.Store'
config : {
customer : null,
},
applyCustomer : function (value) {
this.customer = value;
},
model : 'Supermodel'
});
我在 extjs6 中尝试了同样的方法,但没有成功:'
Ext.define('Supermodel', {
extend: 'Ext.data.Model',
requires: ['Ext.data.reader.Json', 'Ext.data.proxy.Rest'],
config: {
customer: null
},
fields: [
{name: 'id', type: 'string'},
...
],
proxy: {
type: 'rest',
url: '/customers/{customer}/users',
reader: {
type: 'json'
}
},
applyCustomer: function (value) {
this.customer = value;
this.proxy.url.replace('{customer}', value);
}
});
他们是否移除了魔法?或者有没有其他更好的方法来构建我的 url,就像在我的代码中一样?我已经看到了一些解决方案,但没有一个适合我的应用程序。我通过登录后由后端发送的会话获取 customerId。我将通过 StoreManager 获取商店,获取客户记录并将其应用于代理。
提前致谢。