title: Emitting event from root component to router outlet child component
body: <p>I have the following structure:
  app.component.html holds the following components:</p>
  
  <pre><code>&lt;componentA&gt;
  &lt;router-outlet&gt;&lt;/router-outlet&gt;
  </code></pre>
  
  <p>I inject componentB into the router outlet and componentB has its own router outlet.</p>
  
  <pre><code>&lt;componentB&gt;&lt;router-outlet&gt;&lt;/router-outlet&gt;&lt;/componentB&gt;
  </code></pre>
  
  <p>I inject componentC inside ComponentB´s router outlet</p>
  
  <pre><code>&lt;componentC&gt;
  </code></pre>
  
  <p>I want to send an event from ComponentA to ComponentC.</p>
  
  <p>I am trying to use a service to accomplish this by injecting it into ComponentA which sends the event and ComponentC is subscribing to the event through the injected service. Component C is not receiving the events. </p>
  
  <p>However if I move componentA inside ComponentB the event is successfully emitted to ComponentC.</p>
  
  <p>How can I emit the event from ComponentA to ComponentC when ComponentA is located at the root in app.component.html?</p>
  
  <p><strong>[UPDATE]</strong></p>
  
  <p>I followed the example on <a href="https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service" rel="nofollow">bidirectional service</a> but the event is still not received. Here is the code:</p>
  
  <p>My Service:</p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { Subject }    from 'rxjs/Subject';
  
  @Injectable()
  export class MyService {
     private mySource = new Subject&lt;string&gt;();
     source$ = this.mySource.asObservable();
     sendEvent(stringParam: string) {
        this.mySource.next(stringParam);
     }
  }
  </code></pre>
  
  <p>Component A sends the event</p>
  
  <pre><code> this.myService.sendEvent("test");
  </code></pre>
  
  <p>Component C subscribes and listens for the event</p>
  
  <pre><code>this.subscription = this.myService.source$.subscribe(stringParam =&gt; {
    console.log('Received event: ' + stringParam);
  });
  </code></pre>
  
  <p>I am using Angular RC5. Any idea what I am missing?</p>