Ich versuche, eine benutzerdefinierte RouteReuseStrategy nutzen und dafür würde ich gerne alle Abonnements aussetzen, wenn eine Komponente getrennt ist und andere Dinge wie Scrollen an die richtige Position.Angular2 + routeReuseStrategy Lebenszyklus-Hooks
Ich habe nach möglichen Haken gesucht, aber anscheinend wurden keine zusätzlichen lifecycle hooks hinzugefügt und OnDestroy wird nicht aufgerufen.
Ich habe versucht, meine eigenen onDetach und onAttach Haken hinzuzufügen, aber weder die ActivatedRouteSnapshots noch die DetachedRouteHandle wird mir die Instanz der aktuellen Komponente (nur der Prototyp?).
Die einzige Möglichkeit, die Komponenteninstanz zu greifen, wenn Sie mit der CanDeactivate guard weg navigieren, aber das scheint nicht richtig. Und ich konnte immer noch keinen Weg finden, einen Haken für onAttach hinzuzufügen.
Also meine Frage ist, wie kann ich eine Komponente ordnungsgemäß trennen, wenn sie getrennt und fortsetzen, wenn sie angeschlossen ist?
Früher gab es eine OnActivate
Hook-Schnittstelle in @angular/router
, aber das scheint weg zu sein und ich sah keinen Ersatz.
P.S. Es scheint einige Berichte von Angular-Apps mit benutzerdefinierten RouteReuseStrategies zu geben, die langsamer werden, wenn sie für längere Zeit verwendet werden, wahrscheinlich weil es keine Möglichkeit gibt, Komponenten anzuhalten/fortzusetzen.