AngularJS provides $on, $emit, and $broadcast services for event-based communication between controllers.
$emit
It dispatches an event name upwards through the scope hierarchy and notify to the registered $rootScope.Scope listeners.
$broadcast
It dispatches an event name downwards to all child scopes (and their children) and notify to the registered $rootScope.Scope listeners.