How does the built-in ngIf structural directive change the rendered DOM based on this template syntax?
@Component({
selector: 'app-product',
template: '<div *ngIf="product">{{ product.name }}</div>',
})
export class ProductComponent {
@Input() product;
}