2017-03-04 21 views
1

うわーangular2とルーティング - 子供にクエリPARMを追加

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

私は下記の私は以下を使用してクエリのPARMをゲットするURLへの場合:

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

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

まあ、私はちょうどだと思いますすばらしい...うわー...

しかし、どのように私はクエリparmを追加しますか?私はタイプ= 11を追加行うrouter.navigate

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

を使用して

1)???

またはマイrouterLink

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

ちょっと、[私の答え](http://stackoverflow.com/a/42600394/2545680)助けてくれましたか? –

+0

[私の答え](http://stackoverflow.com/a/42600394/2545680)に関するコメントはありませんか? –

答えて

0

パラメータは、オブジェクトの形でルートに渡されます。

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

あなたは次の配列を使用する必要があります:

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

は、だからあなたの場合には、あなたがrouter.navigateにそのようなtypeのparamを渡すことができます。

this.router.navigate(['/services', {outlets: {'servicelistright': ['servicelist', {type: 11}]}}]); 
たとえば、このクエリ文字列を取得します

裏には、routerLinkrouter.navigateと呼ばれているので、同じURLストリンgの指示に:

<a [routerLink]="['/services', {outlets: {'servicelistright': ['servicelist', {type: 11}]}}]">Go</a> 
関連する問題