覆盖Ext.data.存储,调用构造函数
Override Ext.data.Store, call constructor
我想重写Ext.data.Store,这样所有的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);
});
}
});
我认为我将不得不使用其他一些hokey-pokey函数来代替this.callParent(arguments);
,因为我不想要Store超类的构造函数,而是原始Store的构造函数。有人知道如何从被覆盖的类中获取函数吗?
第二,要使它工作,我必须将覆盖定义放入哪个目录?原来的Store在ext/data/Store.js
,我确实把我的文件放在app/override/data/Store.js
,但它不起作用
试试callSuper,它应该会做你想做的。
相关文章:
- 使用Google Visualization动态调用构造函数
- 拦截对构造函数的调用
- 在javascript中对数字调用构造函数
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- 在javascript中调用构造函数中函数的对象
- 从“”调用构造函数;摘要“;基本“;类”;
- jshint 和 Function() gets:调用构造函数时缺少“new”前缀
- 缺少调用构造函数的“()”
- JS中的自调用构造函数
- 如何在javascript中从另一个类调用构造函数
- 如何在不调用构造函数的情况下复制对象及其原型链?
- 在javascript中未调用构造函数时绑定此函数
- 如果构造函数在另一个函数中,则新创建的对象调用构造函数undefined
- Javascript调用构造函数中的构造函数
- 为什么我不能在我的模块中调用构造函数方法?
- 覆盖Ext.data.存储,调用构造函数
- 扩展 jQuery 在每个方法调用上调用构造函数
- 如何通过方法传递类实例而不调用构造函数
- 在子生成器中只调用构造函数
- Javascript语法[..]]在函数调用/构造函数调用前