【问题标题】:Handling composite widget's events处理复合小部件的事件
【发布时间】:2011-10-12 14:45:31
【问题描述】:

我正在使用 UiBinder 创建一个复合小部件。小部件是一个登录表单,所以基本上它有标签、文本框和一个按钮。我打算在一个也使用 UiBinder 声明的视图中使用这个小部件。所以,基本上我有这些文件:LoginForm.ui.xml、LoginForm.java、MainViewImpl.ui.xml 和 MainViewImpl.java。

我必须使用 @UiHandler 注释在 LoginForm.java 中定义登录表单的事件处理程序,但是我想知道是否有办法在 MainView.java 中定义这些事件处理程序。这可能吗?

【问题讨论】:

  • 所以基本上你想创建一个LoginForm.ui.xml到MainView.java的依赖?

标签: gwt widget composite uibinder


【解决方案1】:

没有。这会破坏 component 设计模式。

您需要做的是公开您的LoginForm 组件上的事件,MainViewImpl 将能够侦听。

如果它是“一次性”,我不会费心创建事件,而是简单地使用一个 callback 接口,MainViewImpl 实现并传递给LoginForm 让它回调它.
这类似于MVP – Part II article中的视图回调Presenter接口通知presenter。

【讨论】:

  • 感谢您的回答托马斯。我会公开事件,因为这对我来说似乎更直接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多