【问题标题】:How to listen to ALL events dispatched on the GWT Event Bus?如何监听 GWT 事件总线上调度的所有事件?
【发布时间】:2011-12-21 22:01:55
【问题描述】:

我希望能够监听在Event Bus 上发送的所有事件,无论类型如何。我该怎么做?

【问题讨论】:

  • Travis,这是一个相当有趣的问题。如果您最终按照@Thomas Broyer 在下面的建议进行操作,那么如果您发布一些解决方案细节以使那些希望做同样事情的人受益,那就太好了,例如知道您是否最终会在扩展事件总线等中引入其他方法会很有趣。
  • 我确实接受了 Broyer 的建议——它似乎工作正常。今天下班后我会发布我的解决方案。

标签: gwt event-bus


【解决方案1】:

从 Thomas 的建议中得到启发,这里有一个示例解决方案:

    public class MyEventBus extends SimpleEventBus {

    @Override
    public void fireEvent( GwtEvent<?> event ) {
        trackEvent( "Event Fired", event.getClass().toString() );
        super.fireEvent( event );
    }

    public native void trackEvent( String category, String action ) /*-{
        $wnd._gaq.push([ '_trackEvent', category, action ]);
    }-*/;
}

【讨论】:

    【解决方案2】:

    SimpleEventBus 不允许您这样做,但您可以轻松地包装或扩展它并覆盖 fireEvent 等。捕获所有已调度的事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2015-02-03
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多