如何隐藏“这是故意的吗?” Ext JS 6中的警告?

时间:2015-07-16 06:00:49

标签: javascript extjs extjs6 extjs6-classic

我目前正在开发一个Ext JS 6应用程序,它在组件上具有一定程度的继承,其中一些别名映射被覆盖。 Ext JS debug非常友好,每当我这样做时都会通知我。

[W] Overriding existing mapping: 'controller.my-controller' From 'MyBase.app.Controller' to 'MySub.app.Controller'. Is this intentional?

就我而言,这是故意的。这些警告正在堆积起来,并且很难看到森林中的树木。

  • 我可以以某种方式关闭那些有意的类吗?
  • 将我的所有别名重命名为更好的解决方案吗?

2 个答案:

答案 0 :(得分:3)

我建议您重命名别名。

具有相同别名的两个类在尝试实例化其中一个时可能会导致问题。已经有一个great answer to this question用于ExtJS 5的更详细解释。 ExtJs 6的核心概念是相同的。

由于别名应该始终是唯一的(在它的命名空间中),保留警告可能是一个好主意,以防万一你错过了什么......; - )

如果你真的想要抑制这些警告,你可以用空的覆盖Ext.log.warn函数。正如您在ext / packages / core / src / class / Inventory.js中看到的那样,似乎没有别的办法。

希望这能回答你的问题!

答案 1 :(得分:0)

reduce()调用addAlias时,您可以通过强制将“update”参数设置为true来轻松覆盖警告。

addMapping

https://fiddle.sencha.com/#fiddle/1dec