Guards in Angular help us in controlling access to certain routes of our application, unless a criteria is matched. Angular provides the following interfaces for us to implement and create Guards for required use cases:
- CanActivate – navigation to an individual route corresponding to a component
- CanActivateChild – navigation to all the child routes and components of a specific route
- CanDeactivate – guards the exit from a component route and allows on a matching criteria
- CanLoad – lets the application lazyload all the routes of a module only if a condition is met
- Resolve – helps in prefetching all the component data before the route is activated.