Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy} from '@angular/router';
- import {LogInComponent} from '../components/authorization/log-in/log-in.component';
- export class CustomRouteReuseStrategy implements RouteReuseStrategy {
- private handlers: { [key: string]: DetachedRouteHandle } = {};
- shouldDetach(route: ActivatedRouteSnapshot): boolean {
- return true;
- }
- store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {
- const url = route.url.join('/') || route.parent.url.join('/');
- this.handlers[url] = handle;
- }
- shouldAttach(route: ActivatedRouteSnapshot): boolean {
- if (route.component === LogInComponent) {
- this.handlers = {};
- return false;
- }
- const url = route.url.join('/') || route.parent.url.join('/');
- return !!this.handlers[url];
- }
- retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {
- return this.handlers[route.url.join('/') || route.parent.url.join('/')];
- }
- shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
- return future.routeConfig === curr.routeConfig;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement