Предпочтительный способ позволить BLoC сотрудничать - PullRequest
0 голосов
/ 15 ноября 2018

Я строю приложение во флаттере, используя блоки.В одной точке у меня есть кнопка FAB, где я могу перейти на страницу, где я могу добавить данные.Эта страница состоит из корня, самой страницы A, которая включает в себя панель вкладок с 3 вкладками B, C и D.

Что я хочу сделать, это создать экземпляр «персона» и сохранить его со страницы Aтак как на этой странице есть общая кнопка сохранения.На каждой из вкладок B, C и DI можно изменить информацию о человеке, которого я сохраняю.До сих пор я создал блок для каждой из страниц.Теперь мой вопрос заключается в том, как сделать это сотрудничество простым и понятным, чтобы при нажатии кнопки «Сохранить на странице AI» все данные изменялись / собирались на каждой вкладке.Должен ли я:

  1. Сделать корневую страницу A Создайте объект человека и передайте его каждому субблоку в качестве ссылки.
  2. Пусть корневая страница A прослушивает потоки каждого субблока
  3. Что-то еще :)?

Просто чтобы прояснить, я ожидаю, что корневая страница A будетсделать все сохранения с помощью службы / хранилища ..

1 Ответ

0 голосов
/ 15 ноября 2018

Если все вкладки редактируют один и тот же объект person, используйте ONE PersonBloc для всех представлений. Если для вкладок нужны собственные блоки для другой бизнес-логики, они могут передать изменения в PersonBloc.

...