我有一个使用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扩展出来?建议非常感谢。
答案 0 :(得分:1)
如果您只想扩充基本组件类,您可以随时提供添加它们的覆盖:
Ext.define('MyApp.AugmentComponent', {
override: 'Ext.Component',
a: 1,
b: 2,
fn1: function() {
}
});