将自定义mixin(掩蔽)应用于ExtJS6中的extjs网格

将自定义mixin(掩蔽)应用于ExtJS6中的extjs网格,extjs,extjs6,Extjs,Extjs6,我们为加载掩码创建了自定义mixin,我们需要有条件地将该掩码应用于锁定的网格,我们如何有条件地将mixin设置为网格?您不能有条件地应用mixin;mixin被混合到原型中,并应用于类的所有未来实例。显然,可以在mixin中包含条件逻辑,但这是不同的 插件可以应用于每个实例,如果你说你希望这个网格有屏蔽,但不希望它在那个网格上,那么插件可能更有用。使用插件时,您可以将其作为初始化组件的一部分进行应用-您仍然不应该向已创建的实例添加或删除插件。如您所述,我们为load mask创建了一个自定义混

我们为加载掩码创建了自定义mixin,我们需要有条件地将该掩码应用于锁定的网格,我们如何有条件地将mixin设置为网格?

您不能有条件地应用mixin;mixin被混合到原型中,并应用于类的所有未来实例。显然,可以在mixin中包含条件逻辑,但这是不同的


插件可以应用于每个实例,如果你说你希望这个网格有屏蔽,但不希望它在那个网格上,那么插件可能更有用。使用插件时,您可以将其作为初始化组件的一部分进行应用-您仍然不应该向已创建的实例添加或删除插件。

如您所述,我们为load mask创建了一个自定义混入,请提供代码我正在这样分配混入-this.self.mixin'samplemask',util.NewMask,它在本地构建中运行良好,当我们进行生产构建时,掩码不应用于网格,如果我们通过mixin:['Mask']应用,那么它将正常工作。我能够有条件地应用mixin,正如我上面提到的,在我的本地环境中,它工作良好。一旦我构建了app.js,如果我指向app.js的缩小版本,那么它就不起作用了。为什么它可以在本地正常工作,但不能在UAT或QA环境中使用App.js的小型版本呢?再说一遍,实际上不能有条件地应用mixin。应用mixin会更改类的原型,所有实例都会受到相应的影响。如果您想在每个实例的基础上应用一些东西,请使用插件。无论您的mixin应用或未应用的原因是什么,情况都是如此。