Class.override() 与 Ext.define('Class', override: 'Class' ... 创建覆盖之间的区别 [重复]
Posted
技术标签:
【中文标题】Class.override() 与 Ext.define(\'Class\', override: \'Class\' ... 创建覆盖之间的区别 [重复]【英文标题】:Difference between Class.override() vs Ext.define('Class', override: 'Class' ... to create an override [duplicate]Class.override() 与 Ext.define('Class', override: 'Class' ... 创建覆盖之间的区别 [重复] 【发布时间】:2015-05-06 16:40:38 【问题描述】:这两种覆盖有什么区别
所以选项1:
Ext.window.Window.override(
initComponent: function ()
this.draggable = false;
this.resizable = false;
this.on('resize', function ()
this.center();
);
this.callParent();
);
选项 2:
Ext.define('Ext.window.WindowOverride',
override: 'Ext.window.Window',
initComponent: function ()
this.draggable = false;
this.resizable = false;
this.on('resize', function ()
this.center();
);
this.callParent();
);
我应该采用哪种方法以及为什么?
具体使用Extjs 4.1.1
【问题讨论】:
你可能想看看这个***.com/questions/14254321/… 在我看来,这不应再被标记为重复 这不是重复的,顶部引用的答案并未提供最佳实践建议。 【参考方案1】:第二个选项基本上是第一个选项的包装;它将在 Ext.window.Window
加载后应用覆盖。
调用 Class.override()
是 Ext JS 3.x 时代的遗留物,当时没有可用的动态类加载,您必须自己处理管道。没有理由将它与 4+ 一起使用。
【讨论】:
以上是关于Class.override() 与 Ext.define('Class', override: 'Class' ... 创建覆盖之间的区别 [重复]的主要内容,如果未能解决你的问题,请参考以下文章