U kunt richtlijnen toevoegen aan de HTML in uw Angular-project. Sommige bepalen de structuur van uw markeringen, terwijl andere zich concentreren op attributen.

Dit artikel behandelt de zes meest voorkomende Angular-richtlijnen: ngFor, ngIf, ngClass, ngStyle, ngModel en ngSwitch.

Wat zijn hoekrichtlijnen?

Met Angular-richtlijnen kunt u if-statements en for-lussen gebruiken en ander gedrag toevoegen aan de HTML-code van een Angular-project.

Richtlijn Beschrijving
*ngIf U kunt ngIf gebruiken wanneer u wilt dat bepaalde HTML-blokken alleen worden weergegeven als ze aan een bepaalde voorwaarde voldoen. Als u bijvoorbeeld een formulier had met een pop-up die wordt weergegeven nadat een gebruiker invoer voor een bepaald veld heeft ingevoerd.
*ngFor U kunt ngFor gebruiken als u een bepaald blok vele malen moet herhalen. Als u bijvoorbeeld een lijst met items had en voor elk item een ​​div moest weergeven.
*ngClass Dit voegt voorwaardelijke styling toe met behulp van een klasse. Als een if-statement aan de voorwaarde voldoet, wordt de opgegeven klasse toegepast.
*ngStyle Dit voegt voorwaardelijke in-line styling toe. Als een if-statement aan de voorwaarde voldoet, worden de opgegeven stijlen toegepast.
*ngModel Hiermee kunt u in twee richtingen binden. Dit betekent dat u gegevens in beide richtingen kunt doorgeven tussen het HTML- en TypeScript-bestand. U kunt bijvoorbeeld de waarde van een kenmerk van het TypeScript-bestand doorgeven aan het HTML-bestand en omgekeerd.
*ngSwitch Hiermee kunt u een switch-statement met veel gevallen toevoegen om veel waarden te controleren. Op basis van de gevallen zullen bepaalde HTML-elementen worden weergegeven.

Structurele richtlijnen hebben betrekking op de structuur van de HTML-elementen. Deze omvatten ngIf, ngFor en ngSwitch. Attribuutrichtlijnen hebben betrekking op het wijzigen van de eigenschappen van de HTML-elementen. Deze omvatten ngStyle, ngClass en ngModel.

Hoe ngIf. te gebruiken

Om ngIf te gebruiken, hebt u een voorwaarde nodig om te evalueren naar waar voor een bepaald HTML-element om te laten zien.

  1. Voeg twee variabelen toe aan uw TypeScript-bestand. In dit voorbeeld is er een variabele noPlaylists en een variabele om de playlists op te slaan. Deze variabele evalueert waar als de lengte van de playlists-array 0 is.
    noPlaylists: boolean = false;
    afspeellijsten: elke = [];

    constructeur() { }
    ngOnInit(): ongeldig {
    if (this.playlists.length 0) {
    this.noPlaylists = waar;
    }
    }

  2. Voeg in de HTML de *ngIf-instructie toe. Als noPlaylists waar is, verschijnt de foutmelding in de onderstaande reeks. Anders zal het niet. U kunt ngIf toepassen op verschillende soorten HTML-tags.

    Er zijn geen afspeellijsten beschikbaar.

  3. Om een ​​"else"-component aan de if-statement toe te voegen, moet u de HTML-code voor het "else"-gedeelte in een sjabloonblok toevoegen.

    Er zijn geen afspeellijsten beschikbaar.



    Afspeellijsten gevonden.

Hoe ngFor te gebruiken

Als u een bepaald aantal blokken op een pagina moet herhalen, kunt u de ngFor-richtlijn gebruiken.

  1. Voeg in het TypeScript-bestand items toe aan de array.
    afspeellijsten: elke = [
    {"name": "Rock", "numberOfSongs": 5},
    {"name": "hedendaagse", "numberOfSongs": 9},
    {"name": "Populair", "numberOfSongs": 14},
    {"name": "Akoestisch", "numberOfSongs": 3},
    {"name": "Wedding Songs", "numberOfSongs": 25},
    {"name": "Metal", "numberOfSongs": 0},
    ];
  2. Voeg in het HTML-bestand de *ngFor-instructie toe.
    Afspeellijsten gevonden.


    {{playlist.name}}
    {{playlist.numberOfSongs}} nummers


    Binnen de ngFor kunt u naar elk object in de array verwijzen met behulp van de variabele "playlist". "playlist.name" en "playlist.numberOfSongs" zullen beide attributen afdrukken binnen de label.

Hoe ngClass te gebruiken

U kunt de stijlklasse die een bepaalde div gebruikt, wijzigen op basis van een voorwaarde.

  1. Voeg twee klassen toe aan het CSS-bestand met verschillende stijlen. U kunt elke vorm van toevoegen CSS-stijl u wilt, zoals verschillende achtergrondkleuren.
    .songs {
    achtergrondkleur: #F7F5F2;
    }
    .noSongs {
    achtergrondkleur: #FFA8A8;
    }
  2. Voeg binnen de for-lus van de vorige stap de attribuutrichtlijn ngClass toe. [ngClass]="playlist.numberOfSongs > 0? 'songs': 'noSongs'" gebruikt hetzelfde ternaire operator die JavaScript en andere talen gebruiken.


    {{playlist.name}}
    {{playlist.numberOfSongs}} nummers

    Als het aantal nummers groter is dan nul, wordt de klasse "nummers" toegepast op de div. Dit geeft de div een grijze achtergrondkleur. Anders, als het aantal nummers nul is, wordt de klasse "noSongs" toegepast op de div. Dit geeft de div een rode achtergrondkleur.

Hoe ngStyle te gebruiken

In plaats van ngClass te gebruiken, kun je ngStyle gebruiken als je in-line styling wilt toepassen in plaats van styling via een class.

  1. Wijzig de ngClass van de vorige stap om in plaats daarvan ngStyle te gebruiken.

    {{playlist.name}}
    {{playlist.numberOfSongs}} nummers


  • Als u meer dan één inline-stijl moet toepassen, kunt u elke stijl met een komma scheiden.
    [ngStyle]="{'background-color': playlist.numberOfSongs > 0? '#F7F5F2': '#FFA8A8', 'color': playlist.numberOfSongs > 0? 'zwart': 'donkerblauw' }"
  • Hoe ngModel te gebruiken

    U kunt ngModel gebruiken voor binding in twee richtingen. Dit betekent dat u de waarde van een attribuut kunt doorgeven tussen zowel HTML- als TypeScript-bestanden.

    Stel bijvoorbeeld dat u een invoerelement in het HTML-bestand hebt dat ngModel gebruikt. Het kenmerk ngModel is gebonden aan een variabele in het TypeScript-bestand. Wanneer u een waarde invoert in de invoer, wordt de variabele in het TypeScript-bestand bijgewerkt.

    De wijzigingen die in het kenmerk in het TypeScript-bestand zijn aangebracht, worden ook in de HTML weergegeven als andere div's die variabele gebruiken.

    1. Voeg in app.module.ts de FormsModule toe aan de imports bovenaan het bestand, en ook aan de imports-array.
      importeer {FormsModule} van '@angular/forms';
      @NgModule({
      invoer: [
      ...
      FormulierenModule
      ]
      })
    2. Voeg een kenmerk toe aan het TypeScript-bestand om bij te houden wanneer de gebruiker een afspeellijst hernoemt.
      hernoemen van afspeellijsten: boolean = false;
    3. Maak de afspeellijstvariabele openbaar zodat deze toegankelijk is bij gebruik van ngModel in het HTML-bestand.
      openbare afspeellijsten: elke = [
      ...
      ];
    4. Voeg twee knoppen toe aan het HTML-bestand, waarmee u de naam van elke afspeellijst kunt hernoemen of annuleren.

    5. Voeg een invoervak ​​toe in de div van elke afspeellijst. De invoer is alleen zichtbaar als u op de klikt Afspeellijst hernoemen knop. Dit invoerveld heeft een ngModel gebonden aan "playlist.name".

      Wanneer u een nieuwe naam invoert in het invoervak, wordt playlist.name bijgewerkt in het TypeScript-bestand. Dit zal dan ook de andere div's in het HTML-bestand bijwerken die playlist.name gebruiken.

    Hoe ngSwitch te gebruiken

    U kunt ngSwitch gebruiken om bepaalde elementen weer te geven op basis van de gevallen binnen een schakelkast.

    1. Voeg een nieuw "rating"-kenmerk toe aan de objecten in de array playlists. Dit attribuut kan elk getal tussen 0 en 5 zijn (inclusief).
      openbare afspeellijsten: elke = [
      {"name": "Rock", "numberOfSongs": 5, "rating": 5},
      {"name": "Contemporary", "numberOfSongs": 9, "rating": 1},
      {"name": "Populair", "numberOfSongs": 14, "rating": 5},
      {"name": "Acoustic", "numberOfSongs": 3, "rating": 4},
      {"name": "Wedding Songs", "numberOfSongs": 25, "rating": 5},
      {"name": "Metal", "numberOfSongs": 0, "rating": 0},
      ];
    2. Voeg een schakelkast toe onder de naam en het aantal nummers voor een afspeellijst. Op basis van het beoordelingsnummer voor de afspeellijst, wordt in de afspeellijst het juiste aantal sterren weergegeven.

      {{playlist.name}}
      {{playlist.numberOfSongs}} nummers



      ★★

      ★★★

      ★★★★

      ★★★★★

      Geen beoordelingen


    Meer leren met Angular

    Nu heb je de basis van Angular-richtlijnen geleerd, inclusief het gebruik van ngIf, ngFor, ngClass, ngStyle, ngModel en ngSwitch. U kunt ze combineren om complexere gebruikersinterfaces te creëren. Er is zoveel meer om te ontdekken en te leren over Angular, of je nu een beginner of een gevorderd niveau bent.

    Top 8 hoekcursussen voor beginners en gevorderden

    Lees volgende

    DelenTweetenDelenE-mail

    Gerelateerde onderwerpen

    • Programmeren
    • Programmeren
    • JavaScript
    • HTML
    • CSS

    Over de auteur

    Sharlene von Drehnen (5 artikelen gepubliceerd)

    Sharlene is een Tech Writer bij MUO en werkt ook fulltime in Software Development. Ze heeft een Bachelor of IT en heeft eerdere ervaring in kwaliteitszorg en universitaire bijles. Sharlene houdt van gamen en piano spelen.

    Meer van Sharlene Von Drehnen

    Abonneer op onze nieuwsbrief

    Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

    Klik hier om je te abonneren