When I was a neofite with Angular JS I had many problems to understand when I had to EMIT or BROADCAST an event: both methods are called the same way but the dispatched event will take opposite directions.
EMIT GOES UP
When an event is emitted, the curent scope and its anchestors will receive it.
So, if I emit an event from SCOPE 4, I can intercept it on scopes 4, 2 and the root scope.
BROADCAST GOES DOWN
As opposite, a broadcasted event is sent by the scope to and all its children.
If I broadcast en event from scope 2, it can be intercepted by scope 2 itself but also scope 3 and 4… so, if I broadcast from the root scope, i can intercept the event EVERYWHERE!!