What is the difference between ngIf and *ngIf in Angular?
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>
<template [ngIf]="condition">
<p>
Our heroes are true!
</p>
</template>
Equivalent to:
<p *ngIf="condition"> Our heroes are true!</p>
<p *ngIf="condition">