私は現在、角度2 tutorialを見ていて、IDを使ってオブジェクトデータを取得するためにパラメータ付きルータを使用する方法を学んでいます。経路パラメータタイプの変換
以下は、私が尋ねる質問に関連して使用されるコードです。ここ
ID
getHero(id: number): Promise<Hero> {
return this.getHeroes()
.then(heroes => heroes.find(hero => hero.id === id));
}
に基づいてデータを取得するため(サービスクラスからの)ID
{
path:'detail/:id',
component:HeroDetailComponent
}
サービス方式に基づいて構成要素に向けるためapp.module.ts
内経路定義でありますURLから情報を引き出すために使用されるコンストラクタとOnInitメソッド(データが表示されるhero-details.componentから)
constructor(
private heroService: HeroService,
private route: ActivatedRoute,
private location: Location
){}
ngOnInit():void{
this.route.params
.switchMap((params:Params) => this.heroService.getHero(+params['id'])
.subscribe(hero => this.hero = hero));
}
最後に、私たちが取り込んでいるデータの例です。idは型番号と名前型文字列です。
{ id: 11, name: 'Mr. Nice' }
QUESTION:私たちはthis.heroService.getHero()
コールのパラメータの範囲内で数値に文字列からIDを変換ngOnInit
内。 +params['id']
はどのように変換の面で正確に機能しますか?私が推測したのは、app.module.ts
ファイル内のルートをレイアウトする方法によるものであり、detail/:id
はparams['id']
と同等ですが、私が将来確実に何をしているかを知るためにはっきりとした説明が必要です。
ルートパラメータは常に文字列であり、このパラメータで何をしたいのかはあなた次第です。有益な答えをいただきありがとうございます。 –