【问题标题】:Pass parameters between two presenter widgets efficiently with GWT-Platform使用 GWT-Platform 在两个演示者小部件之间有效传递参数
【发布时间】:2016-09-22 09:39:53
【问题描述】:

我有一个称为 ParentPresenter 的演示者和两个 PresenterWidget,即 ChildPresenter1 和 ChildPresenter2。

ParentPresenter 包含 ChildPresenter1 和 ChildPresenter2。 ChildPresenter1 有超过 1000 个随机复选框,用户可以选择/取消选择其中任何一个。

用户点击“保存”(位于 ChildPresenter2 中)后,ChildPresenter2 应该从 ChildPresenter1 获取选择/取消选择复选框值的列表。我很困惑 ChildPresenter2 将如何接收 ChildPresenter1 数据,

  1. 创建一个事件,该事件将由 ChildPresenter1 在每个复选框选择/取消选择时触发,并且 ChildPresenter2 为该事件注册并保持数据更新。但是在 ChildPresenter1 上看到 1000 多个选择/取消选择是一个好的解决方案吗?
  2. 当 ChildPresenter2“保存”被按下时,它会触发一个事件,ChildPresenter1 会监听它,准备所有数据并从 ChildPresenter1 用数据触发另一个事件,此事件将由 ChildPresenter2 处理以获取数据。这听起来很傻,不是吗?

请建议我应该如何处理?

【问题讨论】:

    标签: events gwt parameter-passing gwt-platform


    【解决方案1】:

    我建议如下解决方案:

    选择状态/数据和处理逻辑应该放在ParentPresenter中。

    ParentPresenter {
        List<String> selectedIds
    }
    

    In ChildPresenter1, whenever selection state changes, fire event to notify changes of selection (with selected or deselected ids). ParentPresenter 将监听此事件并相应地更新其 selectedId。

    在 ChildPresenter2 中,只要按下“保存”按钮,就会触发 SaveEvent,ParentPresenter 也会监听该事件。一旦 ParentPresenter 接收到这个事件,它就可以处理所有必要的信息(selectedIds)。

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多