2016-06-09 6 views
1

Ich benutze die neue stabile Angular 2 RC Version. Die Dokumentation für die neue Router-Komponente wurde noch nicht geschrieben. Ich habe Schwierigkeiten, einfach einen Parameter von einer navigierten Seite zu bekommen.Wie erhält man den Routenparameter in Angular 2? (RC - stabil - Router)

Meine Routen: mit

@Routes([ 
    {path: '/results', component: ResultListComponent}, 
    {path: '/result-detail/:id', component: ResultDetailComponent} 
]) 

ich meine Detail Komponente bin Navigation:

this.router.navigate(['/result-detail', result.primary_id]); 

schließlich weiß ich nicht, wie die primary_id im Ergebnis-Detail-Komponente zu erhalten, eine mit "Routensegment"?

+0

http://stackoverflow.com/questions/37196334/how-to-access-angular2- new-router-querystring/37198341 # 37198341 –

+0

Entschuldigung, ich sollte erwähnt werden, dass dies RouteParams im veralteten Router entspricht. EDIT: Ich kann falsch liegen, es könnte überhaupt keine RouteParams sein. Siehe Kommentare unten. –

+0

Es gibt keine 'RouteParams' im aktuellen Router AFAIK. –

Antwort

1

In Angular RC1 Router, müssen Sie Ihre Komponente implementieren OnActivate Schnittstelle haben, um die Routenparameter zu erhalten:

import { Router, OnActivate, RouteSegment, RouteTree } from '@angular/router'; 


Component({ 
... 
}) 
export class ResultDetailComponent implements OnActivate { 
    constructor() { } 

    routerOnActivate(curr: RouteSegment, prev?: RouteSegment, currTree?: RouteTree, 
        prevTree?: RouteTree) { 
     this.id = curr.getParam('id'), 
} 
+0

Das hat funktioniert! Prost. –

Verwandte Themen