2016-09-21 15 views
0

У меня есть один ведущий, называемый ParentPresenter и два presenterWidgets, ChildPresenter1 и ChildPresenter2.Провести параметры между двумя виджетелями-презентаторами эффективно с помощью GWT-платформы

ParentPresenter содержит как ChildPresenter1, ChildPresenter2. ChildPresenter1 имеет более 1000 случайных флажков, и пользователь может выбрать/отменить выбор любого из них.

После того, как пользователь нажимает «Сохранить» (который помещается в ChildPresenter2), ChildPresenter2 должен получить список флажков select/deselect checkbox из ChildPresenter1. Я смущен, как ChildPresenter2 будет получать данные ChildPresenter1,

  1. Создать событие, которое будет срабатывать по ChildPresenter1 на каждый чекбоксе выбор/отмену и ChildPresenter2 регистр для этого события и сохранить обновленные данные. Но если вы видите 1000+, выберите/отмените выбор на ChildPresenter1, это хорошее решение?
  2. Когда нажата кнопка «Сохранить» ChildPresenter2, он запускает событие, и ChildPresenter1 прослушивает его, готовят все данные и запускают еще одно событие из ChildPresenter1 с данными, это событие будет обрабатываться ChildPresenter2 для получения данных. Это звучит глупо, не так ли?

Просьба предложить мне, как мне с этим справиться?

ответ

0

я предложить решение, как показано ниже:

Отбор состояния/данные и логика обработки должны быть помещены в ParentPresenter.

ParentPresenter { 
    List<String> selectedIds 
} 

В ChildPresenter1, всякий раз, когда изменяется состояние выбора, пожар событие, чтобы уведомить изменения выбора (с выбрать или отменить идентификаторы). ParentPresenter будет прослушивать это событие и соответствующим образом обновлять свои выбранныеИндеры.

В ChildPresenter2, при нажатии кнопки «Сохранить», запустите SaveEvent, который также прослушивается ParentPresenter. Когда ParentPresenter получит это событие, он может обрабатывать всю необходимую информацию (selectedIds).