I can\'t seem to extend RouterOutlet when using the new router in RC.1
Example:
import { Directive } from \'@angular/core\';
import { Router, ROUTER_
RouterOutlet
and RouterLink
are not exported from @angular/router
. This was fixed already recently and I'd expect this fix to be included in RC.2.
You can import them from the private path (src/...
) as a workaround until the new version is published.
Hint
That said, there is again a new router work in progress. If you currently working on migrating from the beta router or @angular/router-derprecated
to @angular/router
it's probably better to postpone until the new new router is out.
Here is working code with version RC 1
import { Directive, Attribute, ViewContainerRef, DynamicComponentLoader } from '@angular/core';
import { Router, Routes, RouterOutletMap } from '@angular/router';
import { RouterOutlet } from '@angular/router/src/directives/router_outlet';
@Directive({
selector: 'router-outlet'
})
export class LoggedInRouterOutlet extends RouterOutlet {
constructor(parentOutletMap: RouterOutletMap, _location: ViewContainerRef, name: string){
super(parentOutletMap, _location, name);
}
//activate() {} //EXPIRED
unload(): void { }
loadedComponent: Object
isLoaded: boolean
load(factory, providers, outletMap: RouterOutletMap): any {
super.load(factory, providers, outletMap);
//DO YOUR CHECK HERE
return this.loadedComponent;
}
}