我有以下代码。我想根据是否选择 url.local 或 url.remote 使代理的类型和 url 属性动态化。
var url = {
local: './grid-filtering/sample.json', // static data file
remote: '/Customer/Get'
};
Ext.require('sbpm.model.Product');
Ext.define('sbpm.store.Customer', {
extend: 'Ext.data.JsonStore',
constructor: function (cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
// store configs
autoDestroy: true,
storeId: 'Customer',
model: 'sbpm.model.Product',
proxy: {
type: 'jsonp',
url: url.local,
reader: {
root: 'data',
totalProperty: 'total'
}
},
remoteSort: false,
sorters: [{
property: 'company',
direction: 'ASC'
}],
pageSize: 50
}), cfg]);
}
});
换句话说,我想做的是指定(在伪代码中):
if (url.local)
{
proxy:{
type: 'jsonp'
url: url.local,
// etc
}
}
else if (url.remote)
{
proxy:{
type: 'rest'
url: url.remote,
// etc
}
}
很抱歉,但我不知道要添加什么样的上下文来进一步解释这个场景,或者如果 stackoverflow 只是使用某种文本/代码比率来衡量它,看到我已经解释过这会很烦人场景非常简洁,如果人们不理解,可以提出更详细的问题。