Event Bus
http://angularjs.org/
by Bretto
HTML
<script src="http://code.angularjs.org/angular-1.0.0rc8.js"></script>
<div ng-controller="MyCtrl">
showDialog: <br>{{showDialog}}<br>
<button ng-click="show()">Show</button>
</div>
<div ng-controller="Dialog">
showDialog: <br>{{showDialog}}<br>
<button ng-click="hide()">Hide</button>
</div>
JavaScript
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', ['$scope', '$rootScope', function ($scope, $rootScope) {
$scope.showDialog = false;
$scope.name = 'Superhero';
$scope.show = function() {
$rootScope.$broadcast('dialog', {show: true});
};
$scope.$on('dialog', function(event, parameters) {
$scope.showDialog = parameters.show;
});
}]);
myApp.controller('Dialog', ['$scope', '$rootScope', function ($scope, $rootScope) {
$scope.hide = function() {
$rootScope.$broadcast('dialog', {show: false});
};
$scope.$on('dialog', function(event, parameters) {
$scope.showDialog = parameters.show;
});
}]);