Директива Angular ngIf: условный рендеринг в шаблонах Angular

“angular ngif” — директива Angular, используемая для условного рендеринга элементов в шаблоне. Он позволяет отображать или скрывать элементы на основе оценки выражения.

Вот несколько методов, связанных с использованием директивы ngIf в Angular:

  1. Основной синтаксис:
    Основной синтаксис «ngIf» следующий:

    <element *ngIf="expression">...</element>
  2. Простой пример условия:

    <div *ngIf="showElement">This element will be displayed if showElement is true.</div>
  3. Блок Else:
    Вы можете использовать блок else для отображения контента, когда условие ложно.

    <div *ngIf="showElement; else elseBlock">This element will be displayed if showElement is true.</div>
    <ng-template #elseBlock>This element will be displayed if showElement is false.</ng-template>
  4. Инструкция If-Then-Else:
    Вы можете использовать директиву «ngIf» вместе с «ng-template» для создания инструкции if-then-else.

    <ng-template [ngIf]="condition">
     <div>This element will be displayed if the condition is true.</div>
    </ng-template>
    <ng-template [ngIf]="!condition">
     <div>This element will be displayed if the condition is false.</div>
    </ng-template>
  5. Использование «ng-container»:
    Элемент «ng-container» — это элемент, не требующий рендеринга, который можно использовать с «ngIf» для условного рендеринга нескольких элементов без введения дополнительного элемента в DOM..

    <ng-container *ngIf="showElement">
     <div>Element 1</div>
     <div>Element 2</div>
    </ng-container>
  6. Условная привязка классов.
    Вы можете использовать «ngIf» для условного применения классов CSS к элементу.

    <div [ngClass]="{'class1': condition, 'class2': !condition}">This element will have class1 if the condition is true, class2 if the condition is false.</div>
  7. Условная привязка атрибутов:
    “ngIf” также можно использовать для условной привязки атрибутов к элементу.

    <div [attr.attributeName]="condition ? 'value1' : 'value2'">This element will have attributeName="value1" if the condition is true, attributeName="value2" if the condition is false.</div>