2016-08-29 3 views

答えて

0

他のパラメータと同じように、@ angular/routerからActivatedRouteを使用する必要があります。オプションでないパラメータとの違いはありません。で

詳細: https://angular.io/docs/ts/latest/guide/router.html#!#optional-route-parameters

+0

あなたの答えをいただき、ありがとうございます。 ActivatedRouteをインポート中に、モジュール '/ var/www/public/node_modules/@ angular/router/index' 'にエクスポートされたメンバ' ActivatedRoute 'がないというコンパイル時エラーが表示されます。 – Devx

+0

あなたはどのバージョンを指定していない、ActivatedRouteはRC5でのみ利用可能です –

+0

RC1でこれをどうやって得ることができますか? – Devx

0
export class HeroComponent implements OnInit { 
    constructor(private _activatedRoute: ActivatedRoute, private _router:Router) { 
    _router.routerState.queryParams.subscribe(
     data => console.log('queryParams', data['st'])); 

も参照してくださいGet route query params

+0

最終リリースはActivatedRouteだと思います。しかし、どのようにオプションのパラメータを取得しますか?例えば'lang'がpetのクエリー文字列に設定されている場合はそれを使用し、それ以外の場合は英語に戻します。私が見るところでは、現在の購読がこのページに対して行われていることを知る方法はありません。存在しない場合、それは永遠に待つだけです。 (RxJsのタイムアウトはおそらく?) –

+0

'route.queryParams()'に加入することができます。 AFAIK 'subscribe()'に渡されたコールバックはすべてのルート変更に対して呼び出されます。 '?someid = value'や'; someid = value'が存在しないとき 'data ['someId']'は 'null'を返します。ルート。 –

+0

ありがとう、それは便利でした! –

関連する問題