2017-05-09 4 views
1

Ich versuche, Daten unter Verwendung von Angular Route.navigate passieren und lesen,Wie übergeben und empfangen Sie Daten mit router.navigate mit Angular?

Auf der einen Komponente I

this._router.navigate(["dashboard",{ queryParams: { page: 1 }}], 

auf Armaturenbrett Komponente habe ich

ngOnInit() { 
    this.sub = this._route 
     .queryParams 
     .subscribe(params => { 
     // Defaults to 0 if no query param provided. 
     let page = +params['page'] || 0; 
     console.log(page); 
     }); 
    } 

Aber diese Rückkehr immer

Mache ich etwas falsch?

Mein ng --version ist

@angular/cli: 1.0.2 
node: 6.3.1 
os: darwin x64 
@angular/common: 4.1.1 
@angular/compiler: 4.1.1 
@angular/core: 4.1.1 
@angular/forms: 4.1.1 
@angular/http: 4.1.1 
@angular/platform-browser: 4.1.1 
@angular/platform-browser-dynamic: 4.1.1 
@angular/router: 4.1.1 
@angular/cli: 1.0.2 
@angular/compiler-cli: 4.1.1 
IPLCEWKS01167:routeTest iplcewks01167$ 

Antwort

1

queryParams sollte der zweite Parameter für navigate sein.

diese Zeile ersetzen
this._router.navigate(["dashboard",{ queryParams: { page: 1 }}]; 

zu

this._router.navigate(["dashboard"], { queryParams: { page: 1 }}); 
+0

ich den Grund nicht wissen, aber das funktioniert nicht. Aber das funktioniert :: this._router.navigate (["dashboard", {page: 1}] :: this = = this._route.params .subscribe (params => { console.log (params); // Standardwert ist 0, wenn kein Abfrageparameter angegeben ist let page = + params ['page'] || 0; console.log (Seite); }); – raju

+0

@raju Ja, sie sind zwei verschiedene Wege mit 'queryParams' sollte es auf den zweiten Parameter gesetzt werden – Pengyy

+0

@raju und der vorherige ist Syntax für' params' und der zweite ist für 'queryParams'. – Pengyy

1

Try this: -

this.router.navigate(['/dashboard', { queryParams: { page: 1 }} ]); 
1

dieses Versuchen

{ path: 'a4/:message', component: Angular4Component, data:{ ping:'passedvia router'}} 

holt es in der Komponente this.message = this.route.snapshot.params['message'];

Dies ist die Datei, in der sie in den repo Verwendung verwendet wird.

https://github.com/rahulrsingh09/AngularConcepts/blob/master/src/app/angular4/angular4.component.ts 

Das Arbeitsbeispiel für die gleichen - https://rahulrsingh09.github.io/AngularConcepts

Verwandte Themen