extjs - Ext JS 中的多个覆盖
问题描述
Ext JS 中如何处理多个覆盖?他们是被锁住了,还是最后一个定义的赢了?当可能有多个覆盖时,我需要决定是定义覆盖还是直接覆盖一个类。
解决方案
最后一个获胜,但在调用时会链接覆盖的函数callParent
,如下面的Sencha fiddle所示:
Ext.define('A', {
a: function() {
console.log('a');
},
A: 'A'
});
Ext.define('B', {
override: 'A',
a: function() {
console.log('b');
this.callParent(arguments);
},
A: 'B'
});
Ext.define('C', {
override: 'A',
a: function() {
this.callParent(arguments);
console.log('c')
},
A: 'C'
});
var a = Ext.create('A')
a.a();
console.log(a.A);
结果在控制台:
b
a
c
c
推荐阅读
- javascript - 重新加载页面时出现状态未定义错误
- autodesk-forge - 使用 Autodesk FORGE 模型衍生工具的 SVF/SVF2 模型中缺少自定义 Inventor 材料
- java - 等待 RabbitTemplate Correlated 确认
- python - 一种在两个数据之间匹配维度的简单方法
- docker - 在 ubuntu 16.04 上安装 php7.4 - Dockerfile
- python - QtWidgets 是否可以从服务器中选择文件?
- javascript - React 组件不断重新渲染导致视频重新启动
- javascript - 通过 innerHtml 在 dom 中插入 mathml 时,数学标记被删除
- python-3.x - Webdriver Selenium 点击一个
- iframe 内的元素
- r - 如何一次比较具有相似名称模式的多个列的值?