Що таке route guards?
Route guards - це механізми, які контролюють доступ до маршрутів в Angular.
Вони вирішують: чи можна відкрити маршрут, чи можна піти з нього, чи варто завантажувати модуль тощо.
Основні типи guard
CanActivate- чи можна зайти на маршрут;CanDeactivate- чи можна піти з поточного компонента;CanActivateChild- чи можна зайти на дочірні маршрути;CanLoad- чи можна завантажити лінивий модуль;CanMatch- новий гнучкий guard для перевірки збігу маршруту.
Як працює:
Guard - це просто клас з методом, який повертає true, false або Observable/Promise<boolean>.
Якщо false, Angular не пускає користувача на маршрут.
Приклад:
ts
@Injectable({ providedIn: 'root' })
export class AuthGuard implements CanActivate {
canActivate(): boolean {
return isUserLoggedIn(); // true або false
}
}ts
{ path: 'admin', component: AdminComponent, canActivate: [AuthGuard] }Підсумок: Guard - це фільтр перед маршрутом, щоб не показувати те, чого не можна.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.