2017-07-07 2 views
0

J'ai une application angulaire (4.2.5), et à un moment donné dans mon code, je fais ceci:angulaire - navigate routeur annulé sans raison

this._appService 
    .post('/createhero/save', opts) 
    .subscribe(
     (resData: any) => 
     { 
      this._router.navigate(['home']); 
     } 
    ); 

L'appel routeur navigate() ne fonctionne pas - Rien ne se passe. Je permis debug de la route, et voici ce que je reçois:

Error

Ainsi, la navigation est annulée sans raison donnée. Dans d'autres composants, j'ai le même type de navigate() (certains dans les rappels observables aussi) qui fonctionne bien. L'itinéraire /home fonctionne également.

Je commence à manquer d'idées, et je ne sais même pas pourquoi le navigate() ne fonctionnera pas dans ce cas.

+0

Où avez-vous utilisé votre code de navigation? – TheUnreal

+0

Dans ma méthode CreateHeroComponent save(), qui est déclenchée par un bouton '' –

Répondre

2

Had problème similaire, reason ne pas vraiment aide-t-elle :)

Ce que ma question était, était que la route que j'ai essayé de naviguer avait un gardien lui-même qui a souscrit à observer et depuis je l'ai déjà donné valeur à lui, la valeur initiale d'observable était false et puisque la route a été bloquée, la navigation a été annulée.

Peut-être qu'un autre garde bloque la route et canActivate() donne à true/false en fonction du résultat de votre requête, mais en attendant pas réellement le résultat?

Espérons que cela aide un peu au débogage :)

+0

Mec, c'était exactement ça - J'ai trouvé la solution il y a quelques jours mais bien joué, vous l'avez cloué =) –

+0

Oui, les gardes pour moi aussi sont le problème, merci. – siebmanb

+0

J'avais une route pour enfants qui avait un niveau plus strict qui la gardait. Merci pour l'indice. –