2016-09-21 14 views
0

私は、ParentPresenterと2つのpresenterWidgets、ChildPresenter1とChildPresenter2という1つのプレゼンターを持っています。GWT-Platformで効率的に2つのプレゼンターウィジェット間のパラメータを渡す

ParentPresenterには、ChildPresenter1、ChildPresenter2の両方が含まれます。 ChildPresenter1には1000以上のランダムなチェックボックスがあり、ユーザーはそれらのいずれかを選択/選択解除できます。

「保存」(ChildPresenter2に配置されている)をクリックすると、ChildPresenter2はChildPresenter1のチェックボックスの選択/非選択のリストを取得する必要があります。私は、

  1. ChildPresenter2がChildPresenter1データを受信しますか混乱しています選択/選択解除各チェックボックスにChildPresenter1によって発射されるイベントを作成し、ChildPresenter2は、そのイベントに登録し、データを最新の状態に保ちます。しかし、ChildPresenter1で1000+の選択/選択解除が可能なのは良い解決策ですか?
  2. ChildPresenter2の「保存」を押すとイベントが発生し、ChildPresenter1がそれを聴き、すべてのデータを準備し、もう1つのイベントをChildPresenter1からデータで発生させると、このイベントはChildPresenter2によって処理されてデータを取得します。これは愚かではない、それはない?

どうすればよいですか?

答えて

0

私は以下のように解決策を提案する:選択状態/データ

とロジックがParentPresenterに置かれるべき取り扱います。 (選択または選択解除IDを持つ)の選択の変更を通知するChildPresenter1、いつでも選択状態が変化すると、火災の場合に

ParentPresenter { 
    List<String> selectedIds 
} 

。 ParentPresenterはこのイベントをリッスンし、それに従ってselectedIdsを更新します。

ChildPresenter2では、[保存]ボタンを押すたびに、ParentPresenterが聴いているSaveEventを発生させます。 ParentPresenterはこのイベントを受け取ると、必要なすべての情報をready(selectedIds)で処理できます。

関連する問題