mixin vs插件。选择什么?

时间:2011-09-04 10:33:13

标签: plugins extjs extjs4 mixins

我们假设我已经定义了几个新组件 - MyComponent1MyComponent2,...,它们扩展了Ext.Component

现在我想用相同的功能扩展所有这些小部件 - 我想添加close按钮,它会出现在MyComponentX.el的右上角。

我应该使用什么:mixinplugin?或其他什么?
总的来说:mixin vs plugin,最佳做法是什么?

3 个答案:

答案 0 :(得分:18)

我喜欢将其视为 -

mixin是您用来实现“多重继承”的方法
plugin是用于增强现有组件的内容。插件的生命周期由组件管理。 (没有mixin的生命周期管理。将mixin视为基类等价物)

答案 1 :(得分:14)

Mixin属性和函数直接注入到类中,因此它们是类定义的一部分。

插件在实例级别添加

答案 2 :(得分:1)

插件将为Ext.Component类或扩展Ext.Component的类添加功能。 插件中任何方法的范围都在插件本身。

Mixins 可用于向任何其他类添加功能。 mixins方法将直接提供给班级。