我有一个关于 ExtJS 中的多重继承的问题。虽然我知道我可以简单地复制代码以使其发生,但我想知道是否有任何方法可以更有效地对其进行编码。
GridPanel
我的框架中有一个自定义组件,称为Kore.ux.grid.GridPanel
. 它扩展Ext.GridPanel
了额外的通用功能,并为 REST 操作提供了接口。
不久之后,我的同事希望也必须EditorGridPanel
以相同的方式实现,即她希望它是可编辑的,同时具有轻松执行 REST 操作的能力。
我的问题是,有什么方法可以扩展Ext.EditorGridPanel
来使用定制的Kore.ux.grid.GridPanel
功能?
对于任何语法错误,我很抱歉,如果它令人困惑,我可以改写它。谢谢!!
编辑
我再次谷歌搜索,我发现线程说这是不可能的。如果我有这个问题,我应该遵循更好的编码模式吗?
谢谢!
再次编辑
很抱歉,我找到了适合我的结构。这是我发现对我有用的方法:
var Common = function(){} //abstract class
Ext.apply(Common.prototype, {
a : function(){},
b: function(){}...
});
Ext.ux.SomePanelA = Ext.extend ( Ext.Panel, {
stuff : ............
});
Ext.ux.SomePanelB = Ext.extend ( Ext.Panel, {
diffStuff : ............
});
Ext.applyIf(Ext.ux.SomePanelA.prototype, Common.prototype);
Ext.apply(Ext.ux.SomePanelB.prototype, Common.prototype);
如果您认为自己有更好的解决方案,请再次提供有用的建议:) 谢谢!