Belgeler ( https://angular.io/guide/template-syntax#!#star-template ) aşağıdaki örneği verir. Şöyle bir şablon kodumuz olduğunu varsayalım:
<hero-detail *ngIf="currentHero" [hero]="currentHero"></hero-detail>
İşlenmeden önce "şekeri giderilir". Yani, asterix notasyonu gösterime kopyalanacaktır:
<template [ngIf]="currentHero">
<hero-detail [hero]="currentHero"></hero-detail>
</template>
"CurrentHero" doğruysa, bu şu şekilde yorumlanacaktır:
<hero-detail> [...] </hero-detail>
Ama ya böyle bir koşullu çıktı istiyorsanız:
<h1>Title</h1><br>
<p>text</p>
.. ve çıktının bir konteynere sarılmasını istemezsiniz.
Şekersiz versiyonu doğrudan şu şekilde yazabilirsiniz:
<template [ngIf]="showContent">
<h1>Title</h1>
<p>text</p><br>
</template>
Ve bu iyi çalışacak. Ancak, şimdi yıldız işareti * yerine köşeli parantezlere [] sahip olmak için ngIf'e ihtiyacımız var ve bu kafa karıştırıcı ( https://github.com/angular/angular.io/issues/2303 )
Bu nedenle farklı bir gösterim oluşturuldu, şöyle:
<ng-container *ngIf="showContent"><br>
<h1>Title</h1><br>
<p>text</p><br>
</ng-container>
Her iki sürüm de aynı sonuçları üretecektir (yalnızca h1 ve p etiketi görüntülenecektir). İkincisi tercih edilir çünkü her zaman olduğu gibi * ngIf kullanabilirsiniz.
<template>
Direktifler olmadan kullanılmasından farklı olduğunu tahmin ediyorum .<template>
sadece<!--template bindings={}-->
bu durumda üretecekti .