title: Publish Subscribe service using AngularJS
body: <p>I am using this code to create a factory for publishing and subscribing messages between controllers , directives and services .</p>
  
  <pre><code>angular.module('app', []);
  
  angular.module('app').controller('TheCtrl', function($scope, NotifyingService) {
      $scope.notifications = 0;
  
      $scope.notify = function() {
          NotifyingService.publish();
      };
  
      // ... stuff ...
      NotifyingService.subscribe($scope, function somethingChanged() {
          // Handle notification
          $scope.notifications++;
      });
  });
  
  angular.module('app').factory('NotifyingService', function($rootScope) {
      return {
          subscribe: function(scope, callback) {
              var handler = $rootScope.$on('notifying-service-event', callback);
              scope.$on('$destroy', handler);
          },
  
          publish: function() {
              $rootScope.$emit('notifying-service-event');
          }
      };
  });
  </code></pre>
  
  <p>It is working fine but I want to pass data while I am publishing to someone whos subscribing that ,how do I do that.
  Suppose I want to publish a value of 4 , How do I perform that?</p>