ユーザーの画面に表示するものを決定することは、アプリケーション開発における一般的なタスクです。多くの場合、決定は条件を使用してプログラム的に行われます。
テンプレートで条件付き表示を表現するために、Angularは@if
テンプレート構文を使用します。
このアクティビティでは、テンプレートで条件式を使用する方法を学びます。
テンプレートで要素の条件付き表示を可能にする構文は@if
です。
コンポーネントで@if
構文を使用する方法の例を以下に示します。
@Component({ ... template: ` @if (isLoggedIn) { <p>Welcome back, Friend!</p> } `,})class AppComponent { isLoggedIn = true;}
2つの注意すべき点があります。
if
に@
プレフィックスが付いているのは、Angularテンプレート構文と呼ばれる特殊なタイプの構文だからです。- v16以前のアプリケーションを使用している場合は、詳細についてはAngularドキュメントのNgIfを参照してください。
-
isServerRunning
というプロパティを作成するAppComponent
クラスに、isServerRunning
というboolean
型のプロパティを追加し、初期値をtrue
に設定します。 -
テンプレートで
@if
を使用するisServerRunning
の値がtrue
の場合、Yes, the server is running
というメッセージを表示するようにテンプレートを更新します。 -
テンプレートで
@else
を使用するAngularは現在、
@else
構文を使用してelseケースを定義するためのネイティブテンプレート構文をサポートしています。else
ケースとしてNo, the server is not running
というメッセージを表示するようにテンプレートを更新します。例を以下に示します。
template: ` @if (isServerRunning) { ... } @else { ... }`;
不足しているマークアップを埋めるためにコードを追加します。
このタイプの機能は条件付き制御フローと呼ばれます。次に、テンプレートで項目を繰り返す方法を学びます。