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?
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: