J'ai une erreur inattendue lors de la mise en œuvre d'Auth.Guard dans mon projet angulaire. Je l'obtiens sur le lien clic qui est gardé par auth.guard.
auth.guard.ts p> erreur dans la console p> erreur dans la console p> p>
3 Réponses :
Eh bien, (et BTW, au lieu de .Inclut code> apparaît dans exactement deux endroits de votre script, deux fois comme this.url.inclut code>. Après avoir déclaré la propriété URL code>, rien d'autre (en particulier: l'affectation) l'arrive jamais. P>
si (quelqueboolcanexpression) renvoie true; sinon renvoyer false; code>, vous pouvez simplement renvoyer quelqueboolantanexpression code>.) P>.
Affiche, juste pour expliquer ce qui s'est passé.
Vous avez cette ligne p> qui déclare la méthode URL variable scopée, tandis que la propriété de la classe, déclarée non plus Initialisé: P> this.url.includes("login") || this.url.includes("register"))
Cela vous a-t-il aidé comme vous l'avez dit auparavant?
Regardez bien Vous devez gérer un gestionnaire d'exception fort> tel que ci-dessous.
Reportez-vous à la section suivante authguard.loginorregister (auth.guard.ts: 30) code> partie. // ici code> Commentaires: P> private isLoginOrRegister(): boolean {
// HERE
if (this.url && (this.url.includes("login") || this.url.includes("register"))) {
return true;
}
return false;
}
...
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): boolean {
// HERE
this.url = state.url;
if (this.auth.isAuthenticated()) {
return this.handleAuthState();
}
return this.handleNotAuthState();
}