I know that ActivatedRouteSnapshot.component
in Angular2 contains the reference/class to the activated route if I call Router.routerState.snapshot
but how to get for the component class the current (or minimal: one created) instance for it?
Injector.get(..)
does not return instances of components and creating a new instance of a component does also not help (me).
You can use
where
$event
is the component instance and for example assign it to a service to make it available globally.See also https://angular.io/api/router/RouterOutlet
You can also create a custom
<router-outlet>
component that does that automatically.You should be able to get it with the ActivateRoute.
For example, if you have the Injector service:
then
However, this only works if the injector instance you use has reference to that component itself.
In my example, this can be used to find the ViewComponent from a child of that view.
This may not work in your instance, however, hopefully this may help someone.