1

我需要在 Extjs4 中定义一组通用组件:例如,我想定义一个通用商店,当我需要在我的代码中创建商店时,只需定义并将模型和 url 传递给他即可获取数据。这是我的商店:

Ext.define('base.common.store.BaseStore',{
    extend:'Ext.data.Store',
    remoteSort: true,
    proxy: {
        //url:this.url,
        type: 'ajax',
        pageParam: false, //to remove param "page"
        startParam: false, //to remove param "start"
        limitParam: false, //to remove param "limit"
        reader: {
            type: 'json',
            id: 'id',
            root: 'list'
        }
    }
})  

这是我创建它的一个实例的时候:

var dsGroups = Ext.create('base.common.store.BaseStore',{
            model:'base.common.model.Group'
            //proxy:{url:"Group.getGroups"}

        });
dsGroups.getProxy().url = "Group.getGroups";

这个问题是:有一种方法可以在 Ext.create 调用中注入 proxy.url 属性吗?(我不想使用最后一条语句)

任何类型的帮助或想法都是有用的。

4

1 回答 1

1
Ext.define('base.common.store.BaseStore',{
    extend:'Ext.data.Store',
    remoteSort: true,

    defaultProxyCfg: {
        type: 'ajax',
        pageParam: false, //to remove param "page"
        startParam: false, //to remove param "start"
        limitParam: false, //to remove param "limit"
        reader: {
            type: 'json',
            id: 'id',
            root: 'list'
        }
    }

    constructor: function(config){
        config = Ext.apply({}, config);
        config.proxy = Ext.apply({
            url: config.url
        }, this.defaultProxyCfg);
        this.callParent([config]);
    }
});
于 2013-06-10T11:23:50.203 回答