【问题标题】:Is there a global event in ExtJS for created components?ExtJS 中是否存在用于创建组件的全局事件?
【发布时间】:2012-08-14 07:07:10
【问题描述】:

我想在我的 ExtJS4.1 应用程序中实现某种任务栏,其中包含所有浮动组件(如窗口)的按钮。如果创建了窗口,则任务栏中应出现一个最小化/最大化按钮。

那么,是否有一个中心事件告诉我(浮动)组件已创建或已显示?

【问题讨论】:

  • 组件不只是创建/展示自己,你必须告诉他们这样做。因此,当您创建组件时,将该信息传递到您的任务栏,以便它了解它。
  • 是的,可以,但我不希望组件的创建者知道任务栏。
  • 他们不需要彼此直接了解,你可以在中间有一些中介类来指导事情。这将比尝试监听每个组件的创建要干净得多。

标签: events extjs window extjs4.1


【解决方案1】:

我没有对此进行测试,但是 Ext.ComponentManager 有一个名为“all”的公共属性,它是所有组件的集合。您可以像 onAvailable() 一样添加“添加”侦听器。

Ext.ComponentManager.all.on('add', function(map, key, item) {
    // Check if item is a Window and do whatever
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多