extjs4如何使用Ext.data.DirectStore

时间:2014-01-29 17:08:49

标签: extjs

我正在尝试使用“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"
请给我一个建议。我这个问题已经持续了一周。

0 个答案:

没有答案