2016-09-07 22 views

答えて

5

としてURLから1を取得したいあなたは

、以下に示すようにのparams ルートを取得するにはActivatedRouteを注入すべきです
constructor(private router: Router, 
    private userService: UserService, 
    private route: ActivatedRoute,) { //<----- here 

    this.route.params.subscribe(params => { 
      this.id = +params['id']; //<----- + sign converts string value to number 
}); 

続きを読む:https://angular.io/docs/ts/latest/guide/router.html#!#route-parameters

+1

は素晴らしいです。 –

+0

'route.snapshot.params ['id']'を使うのはどうですか? – kds23

+0

@ kds23 idが変更されない場合(つまり、コンポーネントを再初期化せずに別の製品を表示する次のボタンをクリックした場合)、 'route.snapshot.params'を使用できます。しかし、観察可能なものを使用することは一般的に安全です。 – callback

1

恐ろしい返信!ただのアドオン:

プロパティ名が更新されました。代わりにqueryParams

paramMap代わりのparamsqueryParamMapを使用しhttps://angular.io/guide/router#activated-route

例を参照してください:

constructor(private activatedRoute: ActivatedRoute) { } 
    ngOnInit() { 
    this.activatedRoute.paramMap.subscribe((params: ParamMap) => { 
     console.log(params.get("id")); 
    }) 
} 

は、利用可能な方法のために、このリンクを参照してください。それが動作 https://angular.io/api/router/ParamMap

関連する問題