title: How to communicate between components in Angular hybrid app?
body: <p>I am upgrading an Angular 1.5 app following <a href="https://angular.io/docs/ts/latest/guide/upgrade.html" rel="nofollow noreferrer">the upgrade guide</a>. So I have bootstrapped a hybrid app using the <code>UpgradeAdapter</code> and implemented my components in Angular 2. The components communicate via a <code>SharedService</code> similar to <a href="https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service" rel="nofollow noreferrer">this suggestion</a>.  </p>
  
  <p>However one component is using an <strong>Angular 1 directive</strong> which emits some events like:<br>
  <code>$scope.$emit('somethingHappened')</code>  </p>
  
  <p>In my index.ts:  </p>
  
  <pre><code>angular.module('myModule', [
          require('my-ng1-directive')
          //...
  ])
  //...
  .component('myNg1Component', {
          template: '&lt;my-ng1-directive address="{{$ctrl.address}}"&gt;&lt;/my-ng1-directive&gt;',
          bindings: {
               address: '@'
          }
  })
  </code></pre>
  
  <p>The directive is upgraded and given to the root module of my app:  </p>
  
  <pre><code>@NgModule({
      imports: [
          //...
      ],
      declarations: [
          upgradeAdapter.upgradeNg1Component('myNg1Component')
      ],
      providers: [
          SharedService
      ]
  })
  export class AppModule { }
  </code></pre>
  
  <p>Somewhere in my <strong>Angular 2 component</strong> template:  </p>
  
  <pre><code>&lt;my-ng1-component address="{{someAddress}}"&gt;&lt;/my-ng1-component&gt;
  </code></pre>
  
  <p>This component needs to listen to these events. Usually I just would do:  </p>
  
  <pre><code>$scope.$on('somethingHappened', function () {
      // do something
  })
  </code></pre>
  
  <p><strong>How can I listen to the events emitted from an Angular 1 directive in an Angular 2 component?</strong>  </p>
  
  <p>As there is no <code>$scope</code> in Angular 2, I am wondering if this is even possible?</p>