Taula de continguts

angular: directivas estructurales

ngIf

ngFor

ngIf-else + ngTemplate

<div *ngIf="numero % 2 == 0; else impar">
    <h1>Número {{ numero }} - Es par</h1>
</div>
<ng-template #impar>
    <h1>Número {{ numero }} - Es impar</h1>
</ng-template>

<div *ngIf="numero % 2 == 0; then par else impar"></div>

<ng-template #par>
    <h1>Número {{ numero }} - Es par</h1>
</ng-template>

<ng-template #impar>
    <h1>Número {{ numero }} - Es impar</h1>
</ng-template>

procesos asíncronos (4.4)

ngSwitch

ng g[enerate] c[component] components/ngSwitch -is --skipTests

...
export class NgSwitchComponent implements OnInit {
    mensaje = 'info';
}
...
<div [ngSwitch]="mensaje">
    <div *ngSwitchCase="'success'">Success</div>
    <div *ngSwitchCase="'info'">Info</div>
    <div *ngSwitchCase="'warning'">Warning</div>
    <div *ngSwitchDefault>Danger</div>
</div>
<button type="button" (click)="mensaje='success'" class="btn btn-primary">Cambiar</button>
<div [ngSwitch]="mensaje">
    <div *ngSwitchCase="'success'" class="alert alert-success" role="alert">
        <strong>Well done!</strong> You successfully read this important alert message!
    </div>
    <div *ngSwitchCase="'info'" class="alert alert-info" role="alert">
        <strong>Heads up!</strong> This alert needs your attention...
    </div>
    <div *ngSwitchCase="'warning'" class="alert alert-warning" role="alert">
        <strong>Warning!</strong> Better check yourself, you're not looking too...
    </div>
    <div *ngSwitchDefault class="alert alert-danger" role="alert">
        <strong>Oh snap!</strong> change a few things up and try submitting again!
    </div>
</div>