我已经定义了一个模型,我想要使用两次,但是在代理中使用不同的url(实际上只有id不同)但是我该如何管理呢?
Ext.define('TesterModel', {
extend: 'Ext.data.Model',
autoLoad: false,
fields: [
{ name: 'prename', type: 'string' },
{ name: 'lastname', type: 'string' },
{ name: 'dept', type: 'string' },
{ name: 'rackName', type: 'string' },
{ name: 'rackIP' , vtype:'IPAddress'}],
proxy: {
type: 'ajax',
url: 'php/getData_db.php?id=',
reader: {
type: 'json',
messageProperty: 'message',
root: 'data',
}
},
constructor: function() {
UrlParams=document.URL.split("?");
if(UrlParams.length > 1) {
SingleUrlParams=Ext.Object.fromQueryString(UrlParams[1]);
this.proxy.url = this.proxy.url + SingleUrlParams.right;
console.log(this.proxy.url);
}
return this;
}});
Ext.ModelMgr.getModel('TesterModel').load(0, { // load user with ID of "0"
success: function(tester) {
var rightPanel=Ext.getCmp('rightTester');
rightPanel.loadRecord(tester); // when tester is loaded successfully, load the data into the form
}
});
我认为构造函数将在加载之前完成,但是nope,之后就完成了。这是我的渴望。 有什么提示吗?
(它的主要网址是:... / index.html?left = xx& right = yy) 所以我想用左边的一个id填充左边的面板,右边的窗口边面面板右边的id。
谢谢!
答案 0 :(得分:0)
尝试.getProxy()。url =“what / ever.php”