Question: I understand that `$Broadcast()`, `$Emit()` And `$On()` are used to raise an event in one controller and handling in another controller. If possible, can someone just give me some real time example on the usage of above three as I am new to `angular JS`?

I have gone through the following links and understand the basic usage.

<http://www.binaryintellect.net/articles/5d8be0b6-e294-457e-82b0-ba7cc10cae0e.aspx>

Answer: 
* Broadcast: We can pass the value from parent to child (i.e parent -> child controller.)
* Emit: we can pass the value from child to parent (i.e.child ->parent controller.)
* On: catch the event dispatched by `$broadcast` or `$emit`.
This little example shows how the `$rootScope` emit a event that will be listen by a children scope in another controller.

```
(function(){

angular
  .module('ExampleApp',[]);

angular
  .module('ExampleApp')
  .controller('ExampleController1', Controller1);

Controller1.$inject = ['$rootScope'];

function Controller1($rootScope) {
  var vm = this, 
      message = 'Hi my children scope boy';

  vm.sayHi = sayHi;

  function sayHi(){
    $rootScope.$broadcast('greeting', message);
  }

}

angular
  .module('ExampleApp')
  .controller('ExampleController2', Controller2);

Controller2.$inject = ['$scope'];

function Controller2($scope) {
  var vm = this;

  $scope.$on('greeting', listenGreeting)

  function listenGreeting($event, message){
    alert(['Message received',message].join(' : '));
  }

}

})();

```

<http://codepen.io/gpincheiraa/pen/xOZwqa>

The answer of @gayathri bottom explain technically the differences of all those methods in the scope angular concept and their implementations `$scope` and `$rootScope`.