2017-07-07 4 views
0

Ich habe eine Winkel (4.2.5) app, und irgendwann in meinem Code, ich dies tun:Angular - Router navigate ohne Grund storniert

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

Der Router Aufruf navigate() funktioniert nicht - nichts passiert. Ich ermöglichte Route debuggen und das ist, was ich bekommen:

Error

So ist die Navigation ohne Angabe von Gründen abgesagt. In anderen Komponenten habe ich die gleiche Art von navigate() (einige in beobachtbaren Callbacks auch), die gut funktioniert. Die Route /home funktioniert auch.

Ich fange an, von Ideen ausgehen, und ich weiß nicht einmal, warum die navigate() wird in diesem Fall nicht funktionieren.

+0

Wo haben Sie Ihren Navigationscode verwendet? – TheUnreal

+0

In meiner CreateHeroComponent save() -Methode, die durch eine Schaltfläche ausgelöst wird: ' –

Antwort

2

ähnliches Problem hat, reason nicht wirklich Hilfe nicht :) es

Was mein Problem war, war, dass der Weg, den ich versuchte, eine Wache auf seinem eigenen zu navigieren hatte, die auf beobachtbaren gezeichnet und da gab ich schon Wert zu ihm, der Anfangswert von Observable war false und seit Route gesperrt wurde, wurde die Navigation abgebrochen.

Kann es sein, dass einige andere Wachen die Strecke blockiert und canActivate() gibt true/false aus, während auf dem Abfrageergebnis abhängig, aber nicht tatsächlich auf das Ergebnis warten?

Hoffe das hilft ein bisschen beim Debuggen :)

+0

Alter, es war genau das - ich fand die Lösung vor ein paar Tagen aber gut gespielt, Sie haben es genagelt =) –

+0

Ja, Wachen für mich auch sind das Problem, danke. – siebmanb

+0

Ich hatte eine Kinderroute, die eine strengere Sicherheitsstufe hatte, die mir geholfen hat. Danke für den Tipp. –