AngularJS Watch multiple events Example
for http://stepansuvorov.com/blog/
by Stepan Suvorov
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-controller="mainCtrl">
</div>
JavaScript
var app = angular.module('app', []);
app.controller('mainCtrl', function ($rootScope, $scope) {
var $onOrigin = $rootScope.$on;
$rootScope.$on = function(names, listener) {
var self = this;
if (!angular.isArray(names)) {
names = [names];
}
names.forEach(function(name) {
$onOrigin.call(self, name, listener);
});
};
$scope.$on(['login', 'logout'], function() {
console.log(arguments[0].name);
});
$scope.$emit('login');
$scope.$emit('logout');
});