Control Flow in Components - @if

Deciding what to display on the screen for a user is a common task in application development. Many times, the decision is made programmatically using conditions.

To express conditional displays in templates, Angular uses the @if template syntax.

In this activity, you'll learn how to use conditionals in templates.


The syntax that enables the conditional display of elements in a template is @if.

Here's an example of how to use the @if syntax in a component:

      
@Component({  ...  template: `    @if (isLoggedIn) {      <p>Welcome back, Friend!</p>    }  `,})class AppComponent {  isLoggedIn = true;}

Two things to take note of:

  1. Create a property called isServerRunning

    In the AppComponent class, add a boolean property called isServerRunning, set the initial value to true.

  2. Use @if in the template

    Update the template to display the message Yes, the server is running if the value of isServerRunning is true.

  3. Use @else in the template

    Now Angular supports native template syntax for defining the else case with the @else syntax. Update the template to display the message No, the server is not running as the else case.

    Here's an example:

          
    template: `  @if (isServerRunning) { ... }  @else { ... }`;

    Add your code to fill in the missing markup.

This type of functionality is called conditional control flow. Next you'll learn how to repeat items in a template.