Inside one of my Angular controllers, I have this:
// controller A $rootScope.$on(\"myEventFire\", function(event, reload) { someAction(); });
you can also remove it when the scope is destroyed, by running the return callback from the $rootScope.$on().
I.e.
var destroyFoo; destroyFoo = $rootScope.$on('foo', function() {}); $scope.$on('$destroy', function() { destroyFoo(); // remove listener. });