【发布时间】:2012-01-27 08:39:13
【问题描述】:
我已经定义了一个模型,我想使用两次,但代理中的 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
}
});
我以为构造函数会在加载之前完成,但是不,它是在加载之后完成的。这对我来说很奇怪。 请问有什么提示吗?
(主 URL 是这样的: .../index.html?left=xx&right=yy ) 所以我想用一个 id 填充左侧的面板,并在右侧窗口的右侧 id 填充一个面板。
谢谢!
【问题讨论】:
标签: extjs4