Распространение событий в GWT - PullRequest
1 голос
/ 20 июля 2011

Если у меня есть виджет, который запускает пользовательское событие, и этот виджет содержится в иерархии других виджетов, таких как:

Parent1 contains Parent2 contains Parent3 contains CustomWidget

Затем, чтобы передать начальное событие в Parent1, у меня естьдобавить обработчики событий на всем пути и заставить каждый внутренний узел запускать одно и то же событие, или есть другой способ?

Допустим, у нас есть следующий настраиваемый виджет1:

<g:FocusPanel>

 <g:Image/>

</g:FocusPanel>

И этосодержится в пользовательском widget2, который прослушивает события, инициируемые widget1:

<g:ScrollPanel>

 <my:CustomWidget1/>

</g:ScrollPanel>

Теперь, если пользовательский widget2 сам содержится в другом виджете (и, в свою очередь, содержится в другом ...), то для того, чтобы перехватитьпервое событие, отправленное из widget1, мне нужно добавить обработчики соответственно для всех родительских виджетов, или есть другой способ?

1 Ответ

3 голосов
/ 20 июля 2011

GWT предлагает использовать EventBus для обработки таких событий.

См. Google I / O 2009 - рекомендации по архитектуре GWT App

См. Google I / O 2009 - Рекомендации по архитектуре приложения GWT (http://www.youtube.com/watch?v=PDuhR18-EdM)

...