我有一个web应用程序,我正在使用extjs 4.2。此应用程序具有一堆不同的组件 - 一个面板,显示一些数据,另一个面板显示其他一些数据,网格,图表等等。

需要每个组件至少具有特定的功能和属性集。所以我想定义一个“组件”类,我可以扩展其他一切。例如:

Ext.define('MyApp.BaseComponent', {
    extend: 'Ext.panel.Panel',
    alias: 'widget.myapp-basecomponent',

    prop1: true,
    prop2: 17,

    func1: function (a, b) {
        return a + b;
    }
});
.

然后我将从该基本组件类中扩展到我的应用程序中的每个单个组件。问题是,如果我将基本组件定义为扩展'ext.panel.panel',我只能从中扩展其他面板。我无法从它中扩展网格,树等。

有没有办法我可以完成这个?或者我是错误的方式?也许我应该只筑巢面板中不是面板(网格,图表等)的一切,所以它们都可以从BaseComponent扩展?建议非常感谢。

有帮助吗?

解决方案

如果您只想增强基本组件类,您可以始终提供添加它们的覆盖:

Ext.define('MyApp.AugmentComponent', {
    override: 'Ext.Component',

    a: 1,
    b: 2,

    fn1: function() {
    }
});
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top