Winkel-5 router.navigieren funktioniert nicht

Ich versuche die Umleitung eines Benutzers zu einer anderen Seite, basierend auf einer Bedingung.
Hier mein Beispiel-login-Komponente:

  ngOnInit() {
    console.log(">>> router", this.router)
    console.log(">>> activatedRoute", this.activatedRoute)

    if (this.activatedRoute.queryParams['value'].param === 'value') {
      console.log(">>> redirecting")
      this.router.navigate(['home']);
    }
  }

Wenn ich navigieren Sie zu der login-Komponente, ohne parameter, dann bin ich angezeigt, der login-Komponente Vorlage, das ist gut.

Jedoch wenn ich navigieren Sie zu der login-Komponente mit einem parameter namens param und value der Wert, dann will ich leiten den Benutzer auf die Startseite. Das ist nicht arbeiten.

Hier ist meine Homepage Weg:

import { NgModule } from '@angular/core';

import { HomeComponent } from './home.component';
import { RouterModule, Routes } from '@angular/router';

const thisRoute: Routes = [
  {
    path: 'home',
    component: HomeComponent
  }
];

@NgModule({
  imports: [
    RouterModule.forRoot(thisRoute, {
      useHash: true, initialNavigation: false
    })
  ],
  declarations: [
    HomeComponent
  ]
})
export class HomeModule { }

Habe ich ein test-Projekt in github zum download und auf Ihrem computer ausführen. Laden Sie einfach dieses Projekt: https://github.com/wvary/route-test

Laufen npm install.

Führen npm run start.

Navigieren Sie zu http://localhost:8080/#/home

Sollten Sie etwas wie:

Winkel-5 router.navigieren funktioniert nicht

Können Sie sehen, den Inhalt jeder Seite durch Klick auf die drei links.
Die Idee ist, auf der Startseite, wenn Sie auf den mittleren link.

Dank

  • Versuchen Sie zu faul, laden der Heimat-Komponente?
  • Nicht meine Absicht, aber wenn es das ist, was es tut, und der Grund, warum es nicht funktioniert, dann kann ich den code ändern kann. Bitte beraten.
InformationsquelleAutor Will | 2018-04-06
Schreibe einen Kommentar