[Angular マスター] Day 5 - 条件分岐と繰り返し
Angularの新しい制御フロー構文である@if、@else、@for、@switchを使い、動的な画面を作る基本を学びます。
[Angular マスター] Day 5 - 条件分岐と繰り返し
制御フローとは
制御フローは、条件によって表示を切り替えたり、配列のデータを繰り返し表示したりするための仕組みです。
Angular 17以降では、@if、@for、@switchのような新しい構文を使えます。
@ifで条件表示する
ログイン状態やエラーの有無など、条件によって表示を変えたい場面では@ifを使います。
1
2
3
4
5
@if (isLoggedIn) {
<p>{{ username }}さん、こんにちは。</p>
} @else {
<p>ログインしてください。</p>
}
テンプレートの中で条件が読みやすくなるため、画面の状態を整理しやすくなります。
@forで一覧を表示する
配列のデータを一覧表示するときは@forを使います。
1
2
3
4
5
<ul>
@for (todo of todos; track todo.id) {
<li>{{ todo.title }}</li>
}
</ul>
trackには、各項目を識別できる値を指定します。IDがあるデータならtodo.idを使うのが自然です。
@switchで分岐を整理する
状態が複数ある場合は@switchを使うと読みやすくなります。
1
2
3
4
5
6
7
8
9
10
11
@switch (status) {
@case ('loading') {
<p>読み込み中...</p>
}
@case ('error') {
<p>エラーが発生しました。</p>
}
@default {
<p>完了しました。</p>
}
}
使い分け
| 構文 | 使う場面 |
|---|---|
@if | 表示するかどうかを決める |
@else | 条件に合わない場合の表示 |
@for | 配列を繰り返し表示する |
@switch | 複数の状態を分岐する |
Day 5のゴール
今日のゴールは、条件と繰り返しを使って、静的な画面から動的な画面へ進むことです。Todoリストや商品一覧のようなUIを作る土台になります。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
