2017-03-04 1 views
1

Wowangular2 und Routing - eine Abfrage Parm auf das Kind das Hinzufügen

this.router.navigate(['/services', {outlets: {'servicelistright': ['servicelist']}}]); 

Wenn ich die unten auf die URL ich die Abfrage Parm bekommen und unter Verwendung von:

  http://localhost:4200/#/services/(servicelistright:servicelist;type=11) 

this.route.params.map(params => params['type']) 
      .subscribe(type => { console.log('stupid',type) }); 

Nun, ich denke nur wunderbar..wow toll ...

Aber wie auf der Erde füge ich den Abfrage-Parm hinzu?

1) unter Verwendung von router.navigate

this.router.navigate(['/services', {outlets: {'servicelistright': ['servicelist']}}]); 

wo füge I type = 11 ???

Oder mein Router

<a md-raised-button routerLinkActive="['active']" [routerLink]="['/services']" ">Raised button</a> 
+0

hey, habe [meine Antwort] (http://stackoverflow.com/a/42600394/2545680) helfen? –

+0

also kein Kommentar zu [meine Antwort] (http://Stackoverflow.com/a/42600394/2545680)? –

Antwort

0

Parameter werden in einer Form eines Objekts auf der Strecke übergeben. Zum Beispiel diese Abfrage-String zu erhalten:

/inbox/33;details=true/messages/44;mode=preview 

Sie folgende Array verwenden müssen:

['/inbox', 33, {details: true}, 'messages', 44, {mode: 'preview'}] 

Also in Ihrem Fall können Sie die type param wie das zu router.navigate passieren:

this.router.navigate(['/services', {outlets: {'servicelistright': ['servicelist', {type: 11}]}}]); 

hinter den Kulissen, routerLink ruft nur router.navigate, so können Sie die gleiche URL strin übergeben g der Richtlinie:

<a [routerLink]="['/services', {outlets: {'servicelistright': ['servicelist', {type: 11}]}}]">Go</a>