Is it possible to have router named outlets that are activated once and then never destroyed, no matter what route is navigated in primary outlet?
The intention is t
skipLocationChange navigation option works only for a router it was supplied for, then named outlet appears in the url, like /login(foo:bar).
It's possible to have permanent foo router outlet by overriding UrlSerializer, as was suggested by @kemsky:
import {
UrlSerializer, DefaultUrlSerializer, UrlSegmentGroup, UrlTree
} from '@angular/router';
export class FooUrlSerializer extends DefaultUrlSerializer {
serialize(tree) {
const { foo, ...noFooChildren } = tree.root.children;
const root = new UrlSegmentGroup(tree.root.segments, noFooChildren);
const noFooTree = Object.assign(new UrlTree(), tree, { root });
return super.serialize(noFooTree);
}
}
...
providers: [{ provide: UrlSerializer, useClass: FooUrlSerializer }, ...]
...