Voici les cas que j'ai constatés lors de l'utilisation de l'application canLoad y canActivete avec des routes paresseuses :
A) Si canLoad ou canActivate est utilisé :
1. Lorsque le module n'est pas déjà téléchargé :
canLoad:
true: module will be downloaded
false: module will not be downloaded
canActivate:
true: module will be downloaded and user will be granted to access particular route
false: module will be downloaded and user will be prevented to access particular route
2. Lorsque le module est déjà téléchargé
canLoad: It does not do anything. Like its not there in code.
canActivate:
true: user will be granted to access particular route
false: user will be prevented to access particular route
B) Si canLoad et canActivate sont tous deux utilisés :
1. Lorsque le module n'est pas déjà téléchargé :
canLoad:
true: module will be downloaded and passed control to check canActivate
false: Neither module will be downloaded nor canActivate will be called
canActivate:
true: user will be granted to access particular route
false: user will be prevented to access particular route
2. Lorsque le module est déjà téléchargé
canLoad:
It does not do anything. Like its not there.
canActivate:
true: user will be granted to access particular route
false: user will be prevented to access particular route
Je préfère donc utiliser à la fois canLoad et canActivate pour les modules paresseux et canActivate pour les routes basées sur des composants