events - 在 GWT 应用程序中,我应该使用不同的事件(和事件处理程序)来切换到每个 View 吗?

标签 events gwt mvp

我正在 GWT 中编写一个菜单,该菜单根据单击的条目打开一个 View 。问题是我有很多不同的观点(~20)。

现在的设计是:菜单使用 eventBus 触发一个事件,AppController 捕获它,将其添加到历史记录中并打开正确的 Presenter(将其传递给正确的 View )。

我不确定创建大量事件(例如“GoToXXX1”、“GoToXXX2”等)是否是正确的方法,我应该使用带有参数的单个事件吗?我做错了吗?

最佳答案

是的,我不太确定这是正确的方法:

我会执行以下操作:

  1. 使用键“#-url”创建一个 HashMap ,例如#view1、#page1等,并为 View 赋值 HashMap mapView = new hashMap(); 如果您的 View 不是 Composite,请使用 Widget 或任何基类。

  2. 在菜单上,使用 Anchor 类并执行 .setHref("view1")、.setHref("page1") 等操作

  3. 添加一个 History.addValueChangeHandler(yourAppController);

  4. 当您捕获历史事件时,获取值,然后执行mapView.get(historyEvent);

  5. 绘制从 HashMap 中获得的 View

关于events - 在 GWT 应用程序中,我应该使用不同的事件(和事件处理程序)来切换到每个 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582662/

相关文章:

java - Google Web 工具包示例应用程序

java - gwt-maven-plugin javascript编译错误

WPF:路由事件还是常规事件?

Java应用程序: mouseDragged Event isn't Executed Often Enough

python - 如何使用 python 中的事件从绘图中获取 DateTime 格式的数据?

android - Mosby MVP - 如何在 onDestroyView() 之后重新创建 Fragment 的状态?

android - RxJava 2 + Retrofit 2(或长异步任务)+ Dagger 2 + MVP VS。改变方向

mysql - 多个查询事件失败

GWT uibinder 复合 Material

c# - 在 MVP Winforms App 中共享模型