创建一个覆写(override)类的推荐方法如下:

Ext.define('MyApp.overrides.panel.Panel', {
override: 'Ext.panel.Panel',
close: function() {
console.log('My Change to Close');
this.callParent();
},
helloWorld: function(){
console.log('Hello World');
}
});

1) 首先, 为你的应用程序的 overrides 目录中的 override 类定义一个合适的命名空间

2) 添加 “override” 配置, 其值是你要覆写的类名, 在这个例子中,我们要覆写 Ext.panel.Panel.

3) 添加你准备覆写的函数. 你需要确认保留了所有相关的代码片段. 在这个例子中,我只是修改了 close 函数, 添加的代码是 console.log(). 如果你创建一个 panel 然后调用 panel.close(), 你会收到一个显示 “My Change to Close” 的控制台信息.

注意: 在你覆写的方法中, 你需要执行 this.callParent() 代码来调用目标类中的原方法. 如果要忽略这个方法, 转而去调用父类的相应实现(比如避免目标类中方法的bug), 你可以调用 this.callSuper() 来代替.

4) 添加一个新函数. 也许你会想像, Ext.panel.Panel 没有 helloWorld 方法. 然而, 我刚刚通过覆写增加了. 现在, 创建一个 panel ,并且执行 panel.helloWorld() 就会显示出一条 “Hello World” 的控制台消息.

最新文章

  1. Hibernate的批量插入(&&JDBC)
  2. Kmeans++算是DONet实现
  3. Mybatis分页插件 - PageHelper
  4. 数据结构——二叉查找树、AVL树
  5. SQLServer 表结构相关查询(快速了解数据库)
  6. Nginx日志常用分析命令汇总 (转)
  7. LoadRunner 各个指标分析
  8. 通过NSURLProtocol拦截HTTP转HTTPS来整合SPDY的记录
  9. AC+DP练习
  10. 【nodejs学习】3.进程管理及异步编程
  11. 云风:我所偏爱的C语言面向对象编程范式
  12. jconsole线程面板中的阻塞总数和等待总数(转)
  13. Java数据类型+练习
  14. Spring Cloud分布式微服务系统中利用redssion实现分布式锁
  15. EmWin 字体相关函数
  16. Redis 安全配置
  17. 06-开闭原则(OCP)
  18. [LeetCode&Python] Problem 697. Degree of an Array
  19. UVa 714 Copying Books - 二分答案
  20. Centos7远程桌面 vnc/vnc-server的设置

热门文章

  1. jquery实现除指定区域外点击任何地方隐藏DIV
  2. arcgis for js/flex/sl 该选哪一个?
  3. [翻译] EAColourfulProgressView
  4. TMG阵列部署选择
  5. Java学习---InetAddress类的学习
  6. Asp.Net MVC Identity 2.2.1 使用技巧(五)
  7. oracle中RAW数据类型
  8. c++的路上,我坚信,我可以 -----第四次作业体会
  9. 定义路由的state参数
  10. sychronized关键字(多线程)