0
votes

Non capturé (en promesse): TypeError: impossible de lire la propriété 'Inclut' de non définie

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 xxx

erreur dans la console xxx < / Pré>

erreur dans la console


0 commentaires

3 Réponses :


0
votes

Eh bien, .Inclut apparaît dans exactement deux endroits de votre script, deux fois comme this.url.inclut . Après avoir déclaré la propriété URL , rien d'autre (en particulier: l'affectation) l'arrive jamais.

(et BTW, au lieu de si (quelqueboolcanexpression) renvoie true; sinon renvoyer false; , vous pouvez simplement renvoyer quelqueboolantanexpression .) .


0 commentaires

0
votes

Affiche, juste pour expliquer ce qui s'est passé.

Vous avez cette ligne p> xxx pré>

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"))


1 commentaires

Cela vous a-t-il aidé comme vous l'avez dit auparavant?



0
votes

Regardez bien authguard.loginorregister (auth.guard.ts: 30) code> partie.

Vous devez gérer un gestionnaire d'exception fort> tel que ci-dessous. Reportez-vous à la section suivante // 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();
}


0 commentaires