我正在尝试使用“Ext.data.DirectStore”直接在服务器端调用该函数。 但是,我现在遇到了一些问题。
下面是我使用mvc模式制作的代码。
Ext.define('DirectApp.store.DirectStore', {
extend : 'Ext.data.DirectStore',
constructor : function(cfg){
cfg = Ext.apply(this, {
storeId : 'directStore',
model : 'DirectApp.model.DirectModel',
proxy : {
type : 'direct',
api : {
create : DirectSvcImpl.updatePersonalRPC,
update : DirectSvcImpl.updatePersonalRPC,
read : DirectSvcImpl.getPersonalAllRPC,
destory : DirectSvcImpl.destoryPersonalRPC
}
},
autoLoad : true
});
this.callParent([cfg]);
}
});
以下是我正在尝试的行动。
var tbar = Ext.create('Ext.toolbar.Toolbar', {
items : [{
text : 'Edit',
handler : function(){
var s = Ext.data.StoreMgr.get('directStore');
var r = Ext.ModelManager.create({
id : '346012',
firstName : '',
lastName : '',
company : '',
email : '',
dob : '',
age : 3,
coworker : 'N/A'
}, 'DirectApp.model.DirectModel');
s.insert(0, r);
s.sync();
}
},'-',{
text : 'Remove',
handler : function(){
var store = Ext.data.StoreManager.get('directStore');
store.removeAt(0);
store.sync();
}
},'-']
});
首先,当我删除记录时,我得到以下错误。 “它说”未捕获的TypeError:无法调用方法'apply'of undefined“”
作为参考,我把配置,“directFn”,它运作良好。 我不能用api配置吗?
其次,我想在创建新记录时将数据发送到服务器端。 但是,它显示如下。数据为空。我该如何发送数据?
action: "DirectSvcImpl"
data: null
method: "getPersonalAllRPC"
tid: 1
type: "rpc"
请给我一个建议。我这个问题已经持续了一周。