Когда в проекте стоит использовать CanDeactivate, а когда лучше выбрать другой подход?
Что хотят услышать интервьюеры:
CanDeactivate — это guard ухода со страницы, например при несохраненных изменениях.
Ответ:
Использовать стоит: когда задача действительно требует этого механизма и есть понятный контракт использования.
Лучше не использовать: когда простое состояние, обычный компонент или сервис решают задачу проще.
Пример:
{
path: 'users/:id', loadComponent: () => import('./user.component').then(m => m.UserComponent)
} Риск: показывать confirm в компоненте вместо централизованного guard.