Extjs6 通过函数从配置应用 属性
Extjs6 apply property from config via function
我以前是用 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 就像在我的代码中一样?
我已经看到了一些解决方案,但是 none 适合我的应用程序。
我通过登录后后端发送的会话获取 customerId。我会通过 StoreManager 获取商店,获取客户记录并将其应用于代理。
提前致谢。
如果您不需要操纵值,请改用 update
函数:
updateCustomer: function(newValue){
this.proxy.url.replace('{customer}', newValue);
}
(并删除 applyCustomer
函数)
我以前是用 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 就像在我的代码中一样? 我已经看到了一些解决方案,但是 none 适合我的应用程序。 我通过登录后后端发送的会话获取 customerId。我会通过 StoreManager 获取商店,获取客户记录并将其应用于代理。
提前致谢。
如果您不需要操纵值,请改用 update
函数:
updateCustomer: function(newValue){
this.proxy.url.replace('{customer}', newValue);
}
(并删除 applyCustomer
函数)