← Angular コース
23. routerLink — 画面遷移のリンクを作る
ルーティングを設定したら、ページ間を移動するリンクは <a href> ではなく <a routerLink="/about"> と書きます。routerLink を使うと、ページ全体を再読み込みせずに、必要な部分だけを差し替えて画面が切り替わります。これがシングルページアプリの軽快な遷移を支える仕組みです。href を使うとブラウザがページ全体を読み込み直してしまい、その良さが失われます。
パスに値を渡したいときは、routerLink="/users/7" のように文字列で書くほか、[routerLink]="['/users', userId]" と配列で書いてクラスの値を組み込めます。一覧の各行から詳細ページへ飛ばす、といった定番のリンクがこの書き方で作れます。
あわせて覚えたいのが routerLinkActive です。<a routerLink="/about" routerLinkActive="active"> と書くと、今表示しているURLがそのリンク先と一致するときだけ active クラスが付きます。ナビゲーションメニューで「今いるページ」を強調表示するのに使う定番の機能です。routerLink を使うには、テンプレートで RouterLink(必要なら RouterLinkActive)を imports に追加します。
サンプルコード(フレームワーク環境が必要なため表示のみ)
import { Component } from '@angular/core';
import { RouterLink, RouterLinkActive } from '@angular/router';
@Component({
selector: 'app-nav',
imports: [RouterLink, RouterLinkActive],
// routerLink で遷移、routerLinkActive で現在地を強調する
template:
'<nav>' +
' <a routerLink="/" routerLinkActive="active">ホーム</a>' +
' <a routerLink="/about" routerLinkActive="active">About</a>' +
' <a [routerLink]="[\'/users\', userId]">マイページ</a>' +
'</nav>',
styles: ['.active { font-weight: bold; }'],
})
export class NavComponent {
userId = 7; // [routerLink] で /users/7 へのリンクになる
}