![]() |
|
||||||||||
|
|
|
|||||
|
есть класс А, есть класс Б, оба addChild на Main класс, хочу чтобы кастомное событие А класса слушал класс Б.
Что делаю: в классе А [dispatchEvent(new MyEvent(MyEvent.TYPE, true));] в классе Б [addEventListener(MyEvent.TYPE, handle, true));] На момент распространения события экз обоих классов добавлены в список отображения Main (addChild). Main класс "слышит" событие от А (), Б класс - нет, не могу понять в чем проблема... С уважением. |
|
|||||
|
стервочка (я мужик)
|
ну наверно проблема в том, что события всплывает к классу Main, и после этого ясное дело не спускается к своим детям.
|
|
|||||
|
т.е. проблему в таком варианте классов не решить?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
В такой компоновке — нет. Ну или делать общую модель данных, Main получает событие от A, что-то делает с моделью, модель в свою очередь шлет событие об изменении, на которое подписан Б и, может быть, тот же А.
|
|
|||||
|
я может что то не понимаю, и может это плохой стиль, но почему к примеру нельзя чтобы класс А диспатчил событие прямо в майн(либо просто пузырьком так сказать) и класс Б цеплял слушатель к паренту тобишь к майн. Майн просто посредник в данном случае.
|
|
|||||
|
спасибо за ответы, хотелось просто поменьше "посредников" =)
|
|
|||||
|
ну есть еще один способ. вы можете если это удобно передать ссылку на Б напрямую в А и диспатчить прямо в Б. передать при создании скажем в конструктор
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Тогда никакого смысла в событиях нет.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|