Search code examples
javascriptangularangular-ng-if

What is the difference between ng-if and *ng-if in angular2


I'm trying to understand the difference between ng-if and *ng-if, but they look the same to me.

Is there a difference that I should keep in mind choosing one over the other and when to use these directives?


Solution

  • ngIf is the directive. Because it's a structural directive (template-based), you need to use the * prefix to use it into templates.

    *ngIf corresponds to the shortcut for the following syntax ("syntactic sugar"):

    <template [ngIf]="condition">
      <p>
        Our heroes are true!
      </p>
    </template>
    

    Equivalent to:

    <p *ngIf="condition">
      Our heroes are true!
    </p>
    

    See this doc for more details: