Sie können dem HTML in Ihrem Angular-Projekt Anweisungen hinzufügen. Einige steuern die Struktur Ihres Markups, während sich andere auf Attribute konzentrieren.

In diesem Artikel werden die sechs häufigsten Angular-Direktiven beschrieben: ngFor, ngIf, ngClass, ngStyle, ngModel und ngSwitch.

Was sind Winkeldirektiven?

Mit Angular-Direktiven können Sie if-Anweisungen und for-Schleifen verwenden und dem HTML-Code eines Angular-Projekts andere Verhaltensweisen hinzufügen.

Richtlinie Beschreibung
*ngIf Sie können ngIf verwenden, wenn bestimmte HTML-Blöcke nur angezeigt werden sollen, wenn sie eine bestimmte Bedingung erfüllen. Zum Beispiel, wenn Sie ein Formular mit einem Popup hatten, das angezeigt wird, nachdem ein Benutzer Eingaben für ein bestimmtes Feld gemacht hat.
*ngFor Sie können ngFor verwenden, wenn Sie einen bestimmten Block mehrmals wiederholen müssen. Wenn Sie beispielsweise eine Liste mit Elementen haben und für jedes Element ein div anzeigen müssen.
*ngKlasse Dies fügt bedingtes Styling mit einer Klasse hinzu. Wenn eine if-Anweisung die Bedingung erfüllt, wird die angegebene Klasse angewendet.
instagram viewer
*ngStyle Dies fügt bedingtes Inline-Styling hinzu. Wenn eine if-Anweisung die Bedingung erfüllt, werden die angegebenen Stile angewendet.
*ngModell Auf diese Weise können Sie eine Zwei-Wege-Bindung durchführen. Das bedeutet, dass Sie Daten in beide Richtungen zwischen der HTML- und der TypeScript-Datei übertragen können. Beispielsweise können Sie den Wert eines Attributs von der TypeScript-Datei an die HTML-Datei übergeben und umgekehrt.
*ngSwitch Auf diese Weise können Sie eine switch-Anweisung mit vielen Fällen hinzufügen, um viele Werte zu überprüfen. Basierend auf den Fällen werden bestimmte HTML-Elemente angezeigt.

Strukturdirektiven betreffen die Struktur der HTML-Elemente. Dazu gehören ngIf, ngFor und ngSwitch. Attributdirektiven beinhalten das Ändern der Eigenschaften der HTML-Elemente. Dazu gehören ngStyle, ngClass und ngModel.

So verwenden Sie ngIf

Um ngIf zu verwenden, benötigen Sie eine Bedingung, die als wahr ausgewertet wird, damit ein bestimmtes HTML-Element angezeigt wird.

  1. Fügen Sie Ihrer TypeScript-Datei zwei Variablen hinzu. In diesem Beispiel gibt es eine noPlaylists-Variable und eine Variable zum Speichern der Wiedergabelisten. Diese Variable wird als wahr ausgewertet, wenn die Länge des Playlists-Arrays 0 ist.
    noPlaylists: boolean = false;
    Wiedergabelisten: beliebig = [];

    Konstrukteur() { }
    ngOnInit(): void {
    if (this.playlists.length 0) {
    this.noPlaylists = true;
    }
    }

  2. Fügen Sie im HTML-Code die *ngIf-Anweisung hinzu. Wenn noPlaylists wahr ist, wird die im Abschnitt unten enthaltene Fehlermeldung angezeigt. Andernfalls wird es nicht. Sie können ngIf auf verschiedene Arten von anwenden HTML-Tags.

    Es sind keine Wiedergabelisten verfügbar.

  3. Um der if-Anweisung eine „else“-Komponente hinzuzufügen, müssen Sie den HTML-Code für den „else“-Teil in einem Vorlagenblock hinzufügen.

    Es sind keine Wiedergabelisten verfügbar.



    Wiedergabelisten gefunden.

So verwenden Sie ngFor

Wenn Sie eine bestimmte Anzahl von Blöcken auf einer Seite wiederholen müssen, können Sie die ngFor-Direktive verwenden.

  1. Fügen Sie in der TypeScript-Datei dem Array Elemente hinzu.
    Wiedergabelisten: alle = [
    {"name": "Rock", "numberOfSongs": 5},
    {"name": "Contemporary", "numberOfSongs": 9},
    {"name": "Beliebt", "numberOfSongs": 14},
    {"name": "Acoustic", "numberOfSongs": 3},
    {"name": "Hochzeitslieder", "numberOfSongs": 25},
    {"name": "Metal", "numberOfSongs": 0},
    ];
  2. Fügen Sie in der HTML-Datei die *ngFor-Anweisung hinzu.
    Wiedergabelisten gefunden.


    {{playlist.name}}
    {{playlist.numberOfSongs}} Lieder


    Innerhalb des ngFor können Sie auf jedes Objekt im Array mit der Variablen „playlist“ verweisen. "playlist.name" und "playlist.numberOfSongs" drucken beide Attribute innerhalb der Schild.

So verwenden Sie ngClass

Sie können die Stilklasse, die ein bestimmtes div verwendet, basierend auf einer Bedingung ändern.

  1. Fügen Sie der CSS-Datei zwei Klassen mit unterschiedlichen Stilen hinzu. Sie können jede Art von hinzufügen CSS-Styling Sie möchten, wie z. B. verschiedene Hintergrundfarben.
    .Lieder {
    Hintergrundfarbe: #F7F5F2;
    }
    .noSongs {
    Hintergrundfarbe: #FFA8A8;
    }
  2. Fügen Sie innerhalb der for-Schleife aus dem vorherigen Schritt die Attributdirektive ngClass hinzu. [ngClass]="playlist.numberOfSongs > 0? 'songs': 'noSongs'" verwendet dasselbe ternären Operator, der JavaScript und andere Sprachen verwenden.


    {{playlist.name}}
    {{playlist.numberOfSongs}} Lieder

    Wenn die Anzahl der Songs größer als Null ist, wird die Klasse „Songs“ auf das div angewendet. Dadurch bekommt das div eine graue Hintergrundfarbe. Andernfalls, wenn die Anzahl der Songs null ist, wird die Klasse „noSongs“ auf das div angewendet. Dadurch erhält das div eine rote Hintergrundfarbe.

So verwenden Sie ngStyle

Anstatt ngClass zu verwenden, können Sie ngStyle verwenden, wenn Sie Inline-Styling anstelle von Styles über eine Klasse anwenden möchten.

  1. Ändern Sie die ngClass aus dem vorherigen Schritt, um stattdessen ngStyle zu verwenden.

    {{playlist.name}}
    {{playlist.numberOfSongs}} Lieder


  • Wenn Sie mehr als einen Inline-Stil anwenden müssen, können Sie jeden Stil durch ein Komma trennen.
    [ngStyle]="{'background-color': playlist.numberOfSongs > 0? '#F7F5F2': '#FFA8A8', 'color': playlist.numberOfSongs > 0? 'schwarz': 'dunkelblau' }"
  • So verwenden Sie ngModel

    Sie können ngModel für die bidirektionale Bindung verwenden. Das bedeutet, dass Sie den Wert eines Attributs sowohl zwischen HTML- als auch TypeScript-Dateien übergeben können.

    Angenommen, Sie haben ein Eingabeelement in der HTML-Datei, das ngModel verwendet. Das ngModel-Attribut ist an eine Variable in der TypeScript-Datei gebunden. Wenn Sie einen Wert in die Eingabe eingeben, wird die Variable in der TypeScript-Datei aktualisiert.

    Die am Attribut in der TypeScript-Datei vorgenommenen Änderungen spiegeln sich auch im HTML wider, wenn andere divs diese Variable verwenden.

    1. Fügen Sie in app.module.ts das FormsModule zu den imports oben in der Datei und auch zum imports-Array hinzu.
      importiere { FormsModule } aus '@angular/forms';
      @NgModule({
      Importe: [
      ...
      FormsModule
      ]
      })
    2. Fügen Sie der TypeScript-Datei ein Attribut hinzu, um zu verfolgen, wann der Benutzer eine Wiedergabeliste umbenennt.
      Wiedergabelisten umbenennen: boolean = false;
    3. Machen Sie die Playlists-Variable öffentlich, damit darauf zugegriffen werden kann, wenn Sie ngModel in der HTML-Datei verwenden.
      öffentliche Wiedergabelisten: beliebig = [
      ...
      ];
    4. Fügen Sie der HTML-Datei zwei Schaltflächen hinzu, mit denen Sie jede Wiedergabeliste umbenennen oder die Umbenennung abbrechen können.

    5. Füge ein Eingabefeld in das Div jeder Playlist ein. Die Eingabe wird erst sichtbar, wenn Sie auf klicken Wiedergabeliste umbenennen Taste. Dieses Eingabefeld hat ein ngModel, das an „playlist.name“ gebunden ist.

      Wenn Sie einen neuen Namen in das Eingabefeld eingeben, wird playlist.name in der TypeScript-Datei aktualisiert. Dadurch werden dann auch die anderen divs in der HTML-Datei aktualisiert, die playlist.name verwenden.

    So verwenden Sie ngSwitch

    Sie können ngSwitch verwenden, um bestimmte Elemente basierend auf den Fällen innerhalb eines Schalterfalls anzuzeigen.

    1. Fügen Sie den Objekten innerhalb des Playlists-Arrays ein neues „rating“-Attribut hinzu. Dieses Attribut kann eine beliebige Zahl zwischen 0 und 5 (einschließlich) sein.
      öffentliche Wiedergabelisten: beliebig = [
      {"name": "Rock", "numberOfSongs": 5, "rating": 5},
      {"name": "Contemporary", "numberOfSongs": 9, "rating": 1},
      {"name": "Popular", "numberOfSongs": 14, "rating": 5},
      {"name": "Acoustic", "numberOfSongs": 3, "rating": 4},
      {"name": "Hochzeitslieder", "numberOfSongs": 25, "rating": 5},
      {"name": "Metal", "numberOfSongs": 0, "rating": 0},
      ];
    2. Fügen Sie unter dem Namen und der Anzahl der Songs für eine Wiedergabeliste einen Wechselfall hinzu. Basierend auf der Bewertungszahl für die Playlist zeigt die Playlist die korrekte Anzahl an Sternen.

      {{playlist.name}}
      {{playlist.numberOfSongs}} Lieder



      ★★

      ★★★

      ★★★★

      ★★★★★

      Keine Bewertungen


    Mehr lernen mit Angular

    Jetzt haben Sie die Grundlagen von Angular-Direktiven gelernt, einschließlich der Verwendung von ngIf, ngFor, ngClass, ngStyle, ngModel und ngSwitch. Sie können sie kombinieren, um komplexere Benutzeroberflächen zu erstellen. Es gibt so viel mehr für Sie zu entdecken und über Angular zu lernen, egal ob Sie Anfänger oder Fortgeschrittener sind.

    Top 8 Angular-Kurse für Anfänger und Fortgeschrittene

    Lesen Sie weiter

    TeilenTwitternTeilenEmail

    Verwandte Themen

    • Programmierung
    • Programmierung
    • JavaScript
    • HTML
    • CSS

    Über den Autor

    Sharlene von Drehen (5 veröffentlichte Artikel)

    Sharlene ist Tech Writer bei MUO und arbeitet auch Vollzeit in der Softwareentwicklung. Sie hat einen Bachelor of IT und hat bereits Erfahrung in der Qualitätssicherung und Universitätsnachhilfe. Sharlene liebt Spiele und spielt Klavier.

    Mehr von Sharlene Von Drehnen

    Abonnieren Sie unseren Newsletter

    Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

    Klicken Sie hier, um sich anzumelden