CanLoad is used for lazy-loaded modules. It prevents the module from even being loaded if the guard condition fails. However, it only runs once per lazy load and doesn’t run again when navigating within the module.
CanMatch is a replacement for CanLoad, introduced in Angular 15. It allows more dynamic route matching and works inside route objects.
CanActivate is used to prevent access to a route if the condition fails. Unlike CanLoad, it does not prevent the module from loading but only restricts navigation.
If you're using CanLoad, the JS file for the module will load only once during lazy loading. If you want finer control over route access inside the module, CanActivate should be used instead.
Guard CanActivate,CanLaod
