我正在 GWT 中编写一个菜单,该菜单根据单击的条目打开一个 View 。问题是我有很多不同的观点(~20)。
现在的设计是:菜单使用 eventBus 触发一个事件,AppController 捕获它,将其添加到历史记录中并打开正确的 Presenter(将其传递给正确的 View )。
我不确定创建大量事件(例如“GoToXXX1”、“GoToXXX2”等)是否是正确的方法,我应该使用带有参数的单个事件吗?我做错了吗?
最佳答案
是的,我不太确定这是正确的方法:
我会执行以下操作:
使用键“#-url”创建一个 HashMap ,例如#view1、#page1等,并为 View 赋值 HashMap mapView = new hashMap(); 如果您的 View 不是 Composite,请使用 Widget 或任何基类。
在菜单上,使用 Anchor 类并执行 .setHref("view1")、.setHref("page1") 等操作
添加一个 History.addValueChangeHandler(yourAppController);
当您捕获历史事件时,获取值,然后执行mapView.get(historyEvent);
- 绘制从 HashMap 中获得的 View
关于events - 在 GWT 应用程序中,我应该使用不同的事件(和事件处理程序)来切换到每个 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582662/