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' ... 创建覆盖之间的区别 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

常用的打印日志方法

开启新线程

@Async异步不影响事务提交@Transaction

service层中数据异常时回滚

Sencha Touch 让一个简单的按钮工作

鸟哥的Linux私房菜——第十八章:磁盘配额quota