我有一个 GWT 应用程序,我正在将 GWT MVP 与地方/活动一起使用。
我的应用程序布局类似于
菜单 | 内容
菜单和内容显示会动态变化,其中一个会与另一个分开变化。我的意思是,当内容显示发生变化时,我不想更新菜单显示,反之亦然。两个显示器都需要能够响应 PlaceChangeEvents 并在这些事件发生时自行更新。问题是每个显示应该只更新以响应某些 PlaceChangeEvents,而忽略指向另一个显示的 PlaceChangeEvents。但是,这在使用“标准”GWT MVP 模式时不起作用,因为即使每个显示器都有自己的 ActivityManager,它们也会自动获取所有 PlaceChangeEvents,因为有一个 PlaceController 在单个 EventBus 上侦听。我能看到的唯一方法是拥有两个 EventBus' s 和两个 PlaceController - 一个用于菜单,一个用于内容。所以我的问题是这是否是一个好的解决方案,还是有一个更简单/更好的方法我错过了?这个解决方案的一个问题是 PlaceHistoryHandler 只能注册到 EventBus 之一。