kil*_*tek 5 migration firefox firebug overriding extjs
假设我想在文件ext-all-debug.js中覆盖 Sencha提供的本机代码中的函数.
该函数在Ext.util.Renderable -class中定义,名称为cacheRefEls.
该压倒一切应该发生内部index.html的项目,使其更容易维持将来的版本.
我已经尝试过在这个线程中提出的覆盖解决方案:
重写Sencha ExtJS标准组件功能的步骤(Ext.tree.Panel和Ext.data.TreeStore作为两个示例)
我的index.html看起来如下:
<html>
...
<script type="text/javascript">
Ext.define('Myapp.view.Renderable', {
override: 'Ext.util.Renderable',
cacheRefEls: function(el) {
console.log("in overider method");
//my adapted version of it
}
});
</script>
...
</html>
Run Code Online (Sandbox Code Playgroud)
不幸的是,通过Firefox-33访问localhost:8080后,从Firebug-2-Console-log可以看到它仍然使用该功能的本机版本.
我在这里失踪了什么?
在ExtJS 5中,您需要将这些方法移动到privates
配置中.
你应该看到错误:
公共方法"cacheRefEls"与Ext.util.Renderable声明的私有框架方法冲突
您仍然可以覆盖私有方法.在您的情况下,解决方案将是:
Ext.define('Myapp.view.Renderable', {
override: 'Ext.util.Renderable',
privates: {
cacheRefEls: function(el) {
console.log("in overider method");
//my adapted version of it
}
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1424 次 |
最近记录: |