2017-02-13 1 views
1

Ich habe folgende plunker Was ich erwarten würde, ist die zweite Verbindung zu treffen und Angular 1234 dank den Parameter ich in meinem Kind config ...Wie kann ich Parameter von Kind Route

const TWO_ROUTES = [ 
    { 
     path: "test/:id", 
     component: ChildComponent 
    } 
]; 

siehe Was Ich sehe tatsächlich ist Angular undefined. Was vermisse ich? Wie greife ich auf den Parameter in der untergeordneten Route zu?

Antwort

1

Statt this.route.params['id'], sollte es sein:

ngOnInit(){ 
    this.name = `Angular ${this.route.params.value['id']}`; 
} 

Sie können auch verwenden:

ngOnInit(){ 
    this.name = `Angular ${this.route.snapshot.params['id']}`; 
} 

prüfen official Angular docs für weitere Informationen über & Navigation Routing.

+0

Ahhh ich sehe so bedeutet das, dass ohne den Schnappschuss eine beobachtbare zurückgibt? – Jackie

+0

Seltsam nach den Dokumenten ... "ActivatedRoute: der One-Stop-Shop für Routeninformationen" Und "Params: Ein Observable, das die erforderlichen und optionalen Parameter für die Route enthält." aber 'this.route.params.then ((params) => { this.name =' Eckig $ {params ['id']} '' } 'funktioniert nicht – Jackie

+1

Ja, genau. Ohne den Snapshot erhält man eine Observable. Observable werden mit '.subscribe()', nicht '.then()' ausgepackt (Sie verwirren mit Versprechen). – AngularChef

Verwandte Themen