title: angularjs: events not get delivered to controller which may not live at that time
body: <p>I think this must be a very common problem, let's say the routes like</p>
  
  <pre><code>$routeProvider
          .when('/producer', {
              templateUrl: 'ui/producer.html',
              controller: 'ProducerCtrl'
          })
          .when('/consumer', {
              templateUrl: 'ui/consumer.html',
              controller: 'ConsumerCtrl'
          })
  </code></pre>
  
  <p>from my understanding of $scope life cycle, each time routing happens a new scope/controller is created and initialized, and old one dies. This causes at a given time there is either producer or consumer controller alive, but not both. I have observed this using angular Batarang. As a consequence, I am not able to send an event from producer to consumer, vice versa. </p>
  
  <p>This is very consuming, as event is designed for communication between controllers. or it only works among controllers and directives?</p>
  
  <p>I am sure I miss something, I can't believe the design was like this.</p>
  
  <p><strong>updated: a solution is firing/listening all events on only rootScope, it works. but I still want to know angularjs is intent to design in this way.</strong></p>