import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router'; export class CustomRouteReuseStrategy implements RouteReuseStrategy { private handlers: { [key: string]: DetachedRouteHandle } = {}; // Soll die Route gespeichert werden? shouldDetach(route: ActivatedRouteSnapshot): boolean { // Hier kannst du filtern, welche Route gespeichert werden soll (z.B. 'produktbaum') return route.routeConfig?.path === 'produktbaum'; } // Speichert die Komponente store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void { this.handlers[route.routeConfig?.path!] = handle; } // Soll eine gespeicherte Route wiederhergestellt werden? shouldAttach(route: ActivatedRouteSnapshot): boolean { return !!this.handlers[route.routeConfig?.path!]; } // Holt die gespeicherte Komponente zurück retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle { return this.handlers[route.routeConfig?.path!]; } // Soll die Route beim Navigieren wiederverwendet werden? shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean { return future.routeConfig === curr.routeConfig; } }