Angularにおけるコンポーネントでのルートパラメータの使用
次に、コンポーネントクラス内でルートパラメータをどのように使用できるかを見てみましょう。
パラメータを持つ次のようなルートがあるとします:
const routes: Routes = [
{ path: 'aaaa/:id', component: AaaaComponent },
{ path: 'bbbb', component: BbbbComponent },
];
さまざまなパラメータでこのコンポーネントに遷移するためのリンクがあるとします:
<nav>
<a
routerLink="/aaaa/1"
routerLinkActive="active"
>
1
</a>
<a
routerLink="/aaaa/2"
routerLinkActive="active"
>
2
</a>
<a
routerLink="/aaaa/3"
routerLinkActive="active"
>
3
</a>
</nav>
子コンポーネントに次の配列が含まれているとします:
let arr: string[] = [
'a', 'b', 'c', 'd', 'e'
];
export class AaaaComponent {
}
ルートパラメータの値に応じて、配列の対応する要素を取得するようにしましょう:
export class AaaaComponent {
constructor(private activateRoute: ActivatedRoute) {
let params = activateRoute.snapshot.params;
let id = params['id'];
this.value = arr[id];
}
}
取得した要素をテンプレートに表示しましょう:
値: {{ value }}
子コンポーネントに次のオブジェクトの配列が格納されているとします:
[
{
name: 'user1',
surn: 'surn1',
},
{
name: 'user2',
surn: 'surn2',
},
{
name: 'user3',
surn: 'surn3',
},
]
パラメータを持つルートを作成してください。パラメータの値に応じて、いずれかのユーザーのデータがテンプレートに表示されるようにします。