<ng-container>
と<ng-template>
要素の使用の違いを説明していただけますか?
ドキュメントが見つからずNgContainer
、テンプレート タグの違いがよくわかりません。
それぞれのコード例が非常に役立ちます。
ベストアンサー1
現時点では (2.x、4.x) 両方とも、ページ上にレンダリングされる別の要素 (またはなど) を導入することなく、要素をグループ化するために使用されdiv
ますspan
。
template
しかし、厄介な構文が必要になります。例えば、
<li *ngFor="let item of items; let i = index; trackBy: trackByFn">...</li>
なるだろう
<template ngFor let-item [ngForOf]="items" let-i="index" [ngForTrackBy]="trackByFn">
<li>...</li>
</template>
代わりにを使用することができます。これは、期待どおりの、おそらくすでに使い慣れているng-container
優れた構文に従っているためです。*
<ng-container *ngFor="let item of items; let i = index; trackBy: trackByFn">
<li>...</li>
</ng-container>
詳細は以下をお読みくださいGitHubでのこの議論。
4.x では は<template>
非推奨となり、 に変更されていることに注意してください<ng-template>
。
使用
<ng-container>
ネストされた構造ディレクティブのヘルパー要素が必要な場合*ngIf
または*ngFor
または、そのような構造ディレクティブ内に複数の要素をラップする場合。<ng-template>
さまざまな場所にスタンプしたいビュー「スニペット」が必要な場合はngForTemplate
、ngTemplateOutlet
、 またはcreateEmbeddedView()
。