Unsubscribing from events on page change
<p>When I keep adding pages to navigation stack, more and more instances of SimpleComponent class are created. For this reason I subscribe more than once to "ev" event and fire code more than once.</p>

<p>You can check that by going "there" and "back" in my plunker example and firing event in different situations (check console warnings for results). You can also see that even when you move back to the top of the navigation stack, you still have your subscription.</p>

<p>ionViewWillLeave is not working probably because it's not the actual view that I'm leaving</p>

<p>I wonder what should I do in order to avoid that? I want the SimpleComponent to be included like old-style AngularJS directive as I use it in my application many times.</p>

<p><a href="https://plnkr.co/edit/l1bCu3CrSP0OYZMjRUvq?p=preview" rel="nofollow">Here is plunker</a></p>

<pre><code>export class SimpleComponent {
  constructor(private ev: Events) {
    this.ev.subscribe('ev', e =&gt; {
      console.warn(e[0]);
    });  
  }
}


// home.ts template
    &lt;simple-component&gt;&lt;/simple-component&gt;
    &lt;button (click)="go()"&gt;Go next page&lt;/button&gt;
    &lt;button (click)="raiseEv()"&gt;Raise Event&lt;/button&gt;
</code></pre>