2017-02-27 2 views
1

Ich habe diese StreckeGet params Form Eltern- und aktuelle Komponente zusammen

foo/1/bar/2 

Als ich in der Komponente von bar bin kann ich die 2 mit

this.activatedRoute.params.subscribe((values: any) => { 
    value.id; //returns 2 
} 

bekommen Wenn ich die 1 erhalten möchten Ich kann es tun mit:

this.activatedRoute.parent.params.subscribe((values: any) => { 
    value.id // returns 1 
} 

Aber welche Funktion kann ich verwenden erhalten beide Werte erhalten ?. Soll ich einen Subscribe im anderen nennen oder gibt es einen besseren Weg mit angular2?

Antwort

1

Sie können abonnieren Ereignisse zum Router und lesen dann die Daten aus dem Snapshot

constructor(router:Router, route:ActivatedRoute) { 
    router.events 
    filter(e => e instanceof NavigationEnd) 
    .forEach(e => { 
    console.log(route.snapshot.params['id']); 
    console.log(route.snapshot.parent.params['id']); 
    }); 
}