Angular2 -- @ViewChild from TypeScript base abstract class
<p>I was looking @ <a href="https://stackoverflow.com/questions/36286936/can-the-viewchildren-decorator-in-angular2-work-with-interfaces">this SO Q &amp; A</a>, and wondering if it was possible to have a base <code>abstract class</code> instead?  Rather than an <code>interface</code>, is it possible to have differing implementations of a base class in child components that are accessible to the parent component via the <code>@ViewChild</code> decorator in <strong>Angular2</strong>?</p>

<p>Ideally, I would like to have a means for child components that are instantiated via a parent <code>Router</code> to be capable of invoking the parent router -- does that make sense?  I want the child to be able to call <code>parentRouter.navigate(["SomeOtherRoute", { args: 'blah' }]);</code>.</p>

<p>My initial approach was to have the child components implement a base class that the parent component would get a reference to via the <code>@ViewChild</code> decorator. The parent would <code>subscribe</code> to the action of the child attempting to invoke a navigation event, and its handler would invoke the <code>router.navigate</code> (since it has the router at the parent level).</p>