Configuring and using AngularJS events
AngularJS offers a powerful event infrastructure that affords you the ability to control the application in scenarios where data binding might not be suitable or pragmatic. Even with a rigorously organized application topology, there are lots of applications for events in AngularJS.
How to do it…
AngularJS events are identified by strings and carry with them a payload that can take the form of an object, a function, or a primitive. The event can either be delivered via a parent scope that invokes $scope.$broadcast(), or a child scope (or the same scope) that invokes $scope.$emit().
The $scope.$on() method can be used anywhere a scope object can be used, as shown here:
(app.js)
angular.module('myApp', [])
.controller('Ctrl', function($scope, $log) {
$scope.$on('myEvent', function(event, data) {
$log.log(event.name + ' observed with payload ', data);
});
});Broadcasting an event
The $scope.$broadcast() method triggers the event in itself and all child...