Route guards sind Funktionen, die steuern, ob die Navigation zu/von einer Route zulässig ist. Sie laufen ab, bevor eine Route aktiviert wird (oder bevor Sie diese verlassen), und ermöglichen Authentifizierungsprüfungen, Berechtigungskontrolle und "Ungespeicherte Änderungen"-Aufforderungen.
Die Guard-Typen
CanActivate → can the user enter this route? (auth/permission check)
CanActivateChild → same, for child routes
CanDeactivate → can the user LEAVE? ("you have unsaved changes")
CanMatch → should this route even be matched? (feature flags, role-based)
resolve → pre-fetch data BEFORE the route activates
