title: $broadcast event not received by controller
body: <p>So I have an angularjs app with several partial views and one controller per partial view. I also have a service which will $broadcast events from the $rootScope:</p>
  
  <pre><code>$rootScope.$broadcast('MyEvent', 'message');
  </code></pre>
  
  <p>Currently there is only one controller listening for events and I noticed that if I am not on the view that is associated to that one controller (via routes), then the event is never received in that controller and thus never loads the view associated to it. How can I ensure that the controller receives the event broadcast regardless of which view is active? I tried using <code>$scope.$on('MyEvent')</code>... and <code>$rootScope.$on('MyEvent')</code>... in my controller; neither seem to work.</p>