覆盖Ext.data.Store,调用构造函数

时间:2014-05-12 16:33:45

标签: javascript extjs override overrides

我想覆盖Ext.data.Store,以便所有商店都有自定义异常处理。

所以我编码:

Ext.define("Override.data.Store", {
    override:'Ext.data.Store',
    constructor:function() {
        this.callParent(arguments);
        if(this.getProxy() && this.getProxy().getReader())
        this.getProxy().getReader().on('exception',function(reader,response,error) {
            if(!isLoggedIn(response)) window.location.reload();
            else Ext.Msg.alert("Error reading data.",error);
        });
    }
});

我认为代替this.callParent(arguments);我不得不使用其他一些hokey-pokey函数,因为我不想要Store的超类的构造函数,而是原始Store的构造函数。有没有人知道如何从被覆盖的类中获取函数?

第二,为了使它工作,我必须在哪个目录中放置覆盖定义?原始商店位于ext/data/Store.js,我确实将文件放入app/override/data/Store.js,但它无效。

1 个答案:

答案 0 :(得分:1)

尝试callSuper应该做你想做的事。