ng-container

88b4136640d40310d0f155257e138058.jpg

ng-container в Ангулар — это структурная директива в Angular, которая позволяет создавать группы элементов без добавления дополнительного узла в DOM. Это полезно, когда нужно применить директиву или использовать условные конструкции или циклы *ngFor для группы элементов, но при этом не добавлять лишних тегов в разметку.

ng-container не является компонентом и не создает своего собственного экземпляра, поэтому к нему не получится доступ через ViewChild или ContentChild. Он просто действует как контейнер для элементов, которые вы хотите группировать. Поэтому вместо того чтобы использовать

который будет рендериться в дереве компонента при сборке и занимать лишнее место лучше использовать ng-container — собственно это и есть его суть!

А теперь к примерам ng-container:

  1. Условное отображение элементов

Вы можете использовать ng-container для группировки элементов, которые должны отображаться или скрываться вместе. Например:

  
  

Welcome, {{ user.name }}!

You are now logged in.

В этом примере ng-container используется для группировки элементов h1, p и button. Если isLoggedIn равен true, то все элементы внутри ng-container будут отображены на странице. В противном случае, они не будут отображены.

  1. Использование *ngFor

Вы можете использовать ng-container для группировки элементов, которые должны быть созданы с помощью *ngFor. Например:

 
  

{{ item.title }}

{{ item.description }}

В этом примере ng-container используется для группировки элементов h2 и p, которые создаются для каждого элемента массива items.

  1. Использование ngSwitch

Вы можете использовать ng-container для группировки элементов, которые должны отображаться в зависимости от значения переменной. Например:

  
  

Success!

Your operation was successful.

Error!

There was an error processing your request.

Processing...

Please wait while we process your request.

В этом примере ng-container используется для группировки элементов div, которые отображаются в зависимости от значения переменной status.

Заключение:

ng-container — это полезная структурная директива, которая позволяет группировать элементы без добавления дополнительных узлов в DOM. Вы можете использовать ее для условного отображения элементов, создания элементов с помощью *ngFor и группировки элементов для использования с ngSwitch и *ngIf.


В следующей статья я расскажу как ng-container используют в связке с ng-template и ngTemplateOutlet. Подписывайся, чтобы следить!

Вот такие пироги.

© Habrahabr.ru