我想覆盖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
,但它无效。