我们假设我已经定义了几个新组件 - MyComponent1
,MyComponent2
,...,它们扩展了Ext.Component
。
现在我想用相同的功能扩展所有这些小部件 - 我想添加close
按钮,它会出现在MyComponentX.el
的右上角。
我应该使用什么:mixin
? plugin
?或其他什么?
总的来说:mixin vs plugin
,最佳做法是什么?
答案 0 :(得分:18)
我喜欢将其视为 -
mixin
是您用来实现“多重继承”的方法
plugin
是用于增强现有组件的内容。插件的生命周期由组件管理。 (没有mixin的生命周期管理。将mixin视为基类等价物)
答案 1 :(得分:14)
Mixin属性和函数直接注入到类中,因此它们是类定义的一部分。
插件在实例级别添加
答案 2 :(得分:1)
插件将为Ext.Component类或扩展Ext.Component的类添加功能。 插件中任何方法的范围都在插件本身。
Mixins 可用于向任何其他类添加功能。 mixins方法将直接提供给班级。