10 linhas de js para registrar todos os eventos $ emit em AngularJS

$rootScope.$emité uma ótima maneira de propagar eventos em seu aplicativo. Este snippet irá registrá-los sem tocar no resto do seu aplicativo.

Conforme seu aplicativo AngularJS cresce, você sentirá a necessidade de dividi-lo em dezenas de serviços, diretivas e controladores. $rootScope.$emité uma ótima maneira de compartilhar informações com outros módulos: não faz com que seus módulos exijam uns dos outros e não confunde escopos com variáveis ​​globais.

No entanto, há momentos em que você gostaria de saber exatamente quais eventos está enviando. Isso vai fazer isso por você. Eu o mantenho comentado em algum lugar próximo :).

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;
});
}]);