Dokumentasi ( https://angular.io/guide/template-syntax#!#star-template ) memberikan contoh berikut. Katakanlah kita memiliki kode templat seperti ini:
<hero-detail *ngIf="currentHero" [hero]="currentHero"></hero-detail>
Sebelum itu akan diberikan, itu akan "dihapuskan". Artinya, notasi asterix akan ditranskripsi ke notasi:
<template [ngIf]="currentHero">
<hero-detail [hero]="currentHero"></hero-detail>
</template>
Jika 'currentHero' benar, ini akan diterjemahkan sebagai
<hero-detail> [...] </hero-detail>
Tetapi bagaimana jika Anda menginginkan output bersyarat seperti ini:
<h1>Title</h1><br>
<p>text</p>
.. dan Anda tidak ingin hasilnya dibungkus dalam wadah.
Anda dapat menulis versi de-sugared secara langsung seperti:
<template [ngIf]="showContent">
<h1>Title</h1>
<p>text</p><br>
</template>
Dan ini akan bekerja dengan baik. Namun, sekarang kita perlu ngIf untuk memiliki tanda kurung [] bukan asterix *, dan ini membingungkan ( https://github.com/angular/angular.io/issues/2303 )
Oleh karena itu notasi yang berbeda dibuat, seperti:
<ng-container *ngIf="showContent"><br>
<h1>Title</h1><br>
<p>text</p><br>
</ng-container>
Kedua versi akan menghasilkan hasil yang sama (hanya tag h1 dan p yang akan diberikan). Yang kedua lebih disukai karena Anda dapat menggunakan * ngIf seperti biasa.
<template>
ketika digunakan tanpa arahan.<template>
hanya akan menghasilkan<!--template bindings={}-->
dalam hal ini.