我们假设我已经定义了几个新组件 - MyComponent1
,MyComponent2
,...,它们扩展了Ext.Component
。我想添加close
按钮,它会出现在MyComponentX.el
的右上角位置。mixin vs插件。可以选择什么?
我应该使用什么:mixin
? plugin
?或者是其他东西?
一般来说:mixin vs plugin
,最佳做法是什么?
我们假设我已经定义了几个新组件 - MyComponent1
,MyComponent2
,...,它们扩展了Ext.Component
。我想添加close
按钮,它会出现在MyComponentX.el
的右上角位置。mixin vs插件。可以选择什么?
我应该使用什么:mixin
? plugin
?或者是其他东西?
一般来说:mixin vs plugin
,最佳做法是什么?
我喜欢去想它 -
mixin
是你用什么来实现“多的传承”
plugin
是你用什么来增强现有组件。插件的生命周期由组件管理。 (对mixin没有生命周期管理,认为mixin是基类的等价物)
谢谢你的回答。那么,您认为哪个是我的关闭按钮示例的最佳选择? –
我懂了。最好的选择是'plugin',因为我想'增强现有组件'。再次感谢。 –
另外,由于OP询问了一般情况,您只能在Ext.Component上使用插件 –
Mixin属性和函数直接注入到类中,因此它们是类定义的一部分。
插件是在实例级别
插件加入将功能添加到Ext.Component类或扩展Ext.Component类。 插件中任何方法的作用域都在插件本身中。
Mixins可用于添加功能到任何其他类。 mixins方法将直接进入课堂。
Mixin是继承,但插件是组合。 – 2013-08-20 09:58:38