2017-06-20 5 views
3

Ich versuche, die gleiche URL in Angular 2 mit router.navigate neu zu laden, aber es funktioniert nicht.zurücksetzen oder laden Sie die gleiche Seite in Angular 2

Url: http://localhost:3000/page1

Szenario: Ich bin auf http://localhost:3000/landing und auf Schaltfläche anklickt, wird das Routing-Parameter übergeben, die die Seite neu zu laden sollte.

Beispiel:

Angenommen, Benutzer in page1 ist (Edit Form) und URL lautet wie localhost:3000/page1 und es wird Paramter mit

let navigationExtras: NavigationExtras = { queryParams: { "refresh": "Y" } }; 
this.router.navigate(['page1'], navigationExtras); 
+0

Erklären Sie das Problem verwenden eindeutig mit dem Code –

+0

Angenommen, Benutzer in page1 ist (Edit Form) und URL lautet http: // localhost: 3000/Seite1 und es wird eine Schaltfläche erstellen neu, beim Klicken auf die Schaltfläche Übergeben eines Routingparameters mit let navigationExtras: NavigationExtras = { queryParams: { "Aktualisieren": "Y" } }; this.router.navigate (['page1'], navigationExtras); . Es sollte eine ngOnInit() -Methode aufrufen. aber es ist nicht –

+0

Sie sollten dies in der Frage –

Antwort

0

Sie auf eine Schaltfläche Neu erstellen, auf Schaltfläche anklickt Leiten eines Routing sein muss nur window.location.reload(); anrufen

0

ngOnInit wird nur aufgerufen, wenn die Komponente erstellt wird. Wenn Sie zu derselben Seite (mit anderen URL-Parametern) navigieren, wird die ngOnInit-Methode nicht aufgerufen. Sie sollten die ActivatedRoute Params beobachtbare

import { ActivatedRoute } from '@angular/router'; 

export class MyComponent implements OnInit { 
    constructor(private _activatedRoute: ActivatedRoute){} 

    ngOnInit(){ 
    this._activatedRoute.params.subscribe(
     params => { 
     // this is called everytime the url changes 
     } 
    } 
} 
Verwandte Themen