ng2 - ng-container タグと ng-template タグの違い 質問する

ng2 - ng-container タグと ng-template タグの違い 質問する

<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>さまざまな場所にスタンプしたいビュー「スニペット」が必要な場合はngForTemplatengTemplateOutlet、 またはcreateEmbeddedView()

おすすめ記事