I am using StreamControllers with Events, and essentially I have a 3 level component heirarchy lets call them, A,B,C. The heirarchy is A -> B -> C.
The origin of the event is in c and i want the event to be processed by A.
I know this is rather easy to do with a direct parent -> child relationship using @Output but not sure how to properly handle multiple levels upwards.
Thanks for asking.
There are a couple ways to do this.
(1) Create an event handler in
B
that forwards fromC
(2) Use dependency injection.
This requires deeper coupling between components, so it won't be appropriate for all designs, but it could make sense in some scenarios.
I think it is easier just to create an "event bus" singleton service that is injected in Component A and Component C.
Here is the code: