$rootScope.$emit
es una excelente forma de propagar eventos en tu aplicación. Este fragmento los registrará sin tocar el resto de su aplicación.
A medida que su aplicación AngularJS crezca, sentirá la necesidad de dividirla en docenas de servicios, directivas y controladores. $rootScope.$emit
es una excelente manera de compartir información con otros módulos: no hace que sus módulos se requieran entre sí y no satura los ámbitos con variables globales.
Sin embargo, hay ocasiones en las que le gustaría saber exactamente qué eventos está enviando. Esto lo hará por ti. Lo mantengo comentado en algún lugar cercano :).
myApp.config(['$provide', function ($provide) {
$provide.decorator('$rootScope', function ($delegate) {
var _emit = $delegate.$emit;
$delegate.$emit = function () {
console.log.apply(console, arguments);
_emit.apply(this, arguments);
};
return $delegate;
});
}]);