AngularJS-tabel: Sort, OrderBy & Hoofdletters filter (voorbeelden)

Inhoudsopgave:

Anonim

Tabellen zijn een van de algemene elementen die in HTML worden gebruikt bij het werken met webpagina's.

Tabellen in HTML zijn ontworpen met behulp van de HTML-tag

  1. -tag - Dit is de belangrijkste tag die wordt gebruikt om de tafel weer te geven.
  2. - Deze tag wordt gebruikt om de rijen binnen de tabel te scheiden.
  3. - Deze tag wordt gebruikt voor het weergeven van de feitelijke tabelgegevens.
  4. - Dit wordt gebruikt voor de tabelkopgegevens.

    Door de bovenstaande beschikbare HTML-tags samen met AngularJS te gebruiken, kunnen we het gemakkelijker maken om tabelgegevens te vullen. Kort gezegd wordt de instructie ng-repeat gebruikt om tabelgegevens in te vullen.

    In dit hoofdstuk bekijken we hoe we dit kunnen bereiken. We zullen ook bekijken hoe we de filters orderby en hoofdletters kunnen gebruiken, samen met het $ index-attribuut om Angular-tabelindexen weer te geven.

    In deze tutorial leer je-

    • Gegevens invullen en weergeven in een tabel
    • AngularJS ingebouwd filter
    • Sorteer de tabel met OrderBy-filter
    • Tafel met hoofdletters filter weergeven
    • Geef de tabelindex weer ($ index)

    Gegevens invullen en weergeven in een tabel

    Zoals we in de inleiding van dit hoofdstuk hebben besproken, blijft de basis voor het maken van de tabelstructuur in een HTML-pagina hetzelfde.

    De structuur van de tabel wordt nog steeds gemaakt met behulp van de normale HTML-tags van

    , ,
    en . De gegevens worden echter gevuld met behulp van de ng-repeat-instructie in AngularJS.

    Laten we een eenvoudig voorbeeld bekijken van hoe we Angular-tabellen kunnen implementeren.

    In dit voorbeeld

    We gaan een hoektabel maken met cursusonderwerpen en hun beschrijvingen.

    Stap 1) We gaan eerst een "style" -tag aan onze HTML-pagina toevoegen, zodat de tabel als een echte tabel kan worden weergegeven.

    1. De style-tag wordt toegevoegd aan de HTML-pagina. Dit is de standaardmanier om opmaakkenmerken toe te voegen die vereist zijn voor HTML-elementen.
    2. We voegen twee stijlwaarden toe aan onze tabel.
    • Een daarvan is dat er een stevige rand moet zijn voor onze Angular-tafel en
    • Ten tweede moet er opvulling zijn voor onze Angular-tabelgegevens.

    Stap 2) De volgende stap is om de code te schrijven om de tabel en zijn gegevens te genereren.

    Event Registration
    

    Guru99 Global Event

    {{ptutor.Name}}{{ptutor.Description}}

    Code Verklaring:

    1. We maken eerst een variabele met de naam "tutorial" en wijzen deze in één stap enkele sleutel-waardeparen toe. Elk sleutel / waarde-paar wordt gebruikt als gegevens bij het weergeven van de tabel. De tutorialvariabele wordt vervolgens toegewezen aan het scope-object, zodat deze vanuit onze weergave toegankelijk is.
    2. Dit is de eerste stap bij het maken van een tabel en we gebruiken de tag .
    3. Voor elke rij gegevens gebruiken we de "ng-repeat-richtlijn". Deze instructie doorloopt elk sleutel / waarde-paar in het tuto, rial scope-object met behulp van de variabele ptutor.
    4. Ten slotte gebruiken we de tag
    5. samen met de sleutelwaardeparen (ptutor.Name en ptutor.Description) om de Angular-tabelgegevens weer te geven.

      Als de code met succes is uitgevoerd, wordt de volgende uitvoer weergegeven wanneer u uw code in de browser uitvoert.

      Uitgang:

      Van de bovenstaande output,

      • We kunnen zien dat de tabel correct wordt weergegeven met de gegevens uit de reeks sleutel-waardeparen die in de controller zijn gedefinieerd.
      • De tabelgegevens zijn gegenereerd door elk van de sleutel / waarde-paren te doorlopen met behulp van de "ng-repeat-instructie".

      AngularJS ingebouwd filter

      Het is heel gebruikelijk om de ingebouwde filters in AngularJS te gebruiken om de manier waarop de gegevens in de tabellen worden weergegeven, te wijzigen. We hebben filters al in actie gezien in een eerder hoofdstuk. Laten we een korte samenvatting van de filters hebben voordat we verder gaan.

      In Angular.JS worden filters gebruikt om de waarde van expressie op te maken voordat deze aan de gebruiker wordt weergegeven. Een voorbeeld van een filter is het filter 'hoofdletters' dat een stringuitvoer aanneemt en de string opmaakt en alle tekens in de string als hoofdletters weergeeft.

      Dus in het onderstaande voorbeeld, als de waarde van de variabele 'TutorialName' 'AngularJS' is, is de uitvoer van de onderstaande expressie 'ANGULARJS'.

      {{TurotialName | hoofdletters}}

      In deze sectie zullen we nader bekijken hoe de filters orderBy en hoofdletters in tabellen kunnen worden gebruikt.

      Sorteer de tabel met OrderBy-filter

      Dit filter wordt gebruikt om de tabel te sorteren op basis van een van de tabelkolommen. In het vorige voorbeeld verscheen de uitvoer voor onze Angular-tabelgegevens zoals hieronder weergegeven.

      Controllers Controllers in actie
      Modellen Modellen en bindende gegevens
      Richtlijnen Flexibiliteit van richtlijnen

      Laten we naar een voorbeeld kijken, hoe we het "orderBy" -filter kunnen gebruiken en de Angular-tabelgegevens kunnen sorteren met behulp van de eerste kolom in de tabel.

      Event Registration
      

      Guru99 Global Event

      {{ptutor.Name}}{{ptutor.Description}}

      Code Verklaring:

      1. We gebruiken dezelfde code als voor het maken van onze tabel, het enige verschil is dit keer dat we het filter "orderBy" gebruiken samen met de instructie ng-repeat. In dit geval zeggen we dat we de tafel willen bestellen met de sleutel "Naam".

      Als de code met succes is uitgevoerd, wordt de volgende uitvoer weergegeven wanneer u uw code in de browser uitvoert.

      Uitgang:

      Van de output,

      • We kunnen zien dat de gegevens in de hoektabel zijn gesorteerd volgens de gegevens in de eerste kolom. In onze dataset zijn de "Directives" -gegevens afkomstig van de "Models" -gegevens, maar omdat we het orderBy-filter hebben toegepast, worden de tabellen dienovereenkomstig gesorteerd.

      Tafel met hoofdletters filter weergeven

      We kunnen ook het filter voor hoofdletters gebruiken om de gegevens in de hoektabel in hoofdletters te veranderen.

      Laten we eens kijken naar een voorbeeld van hoe we dit kunnen bereiken.

      Event Registration
      

      Guru99 Global Event

      {{ptutor.Name | uppercase}}{{ptutor.Description}}

      Code Verklaring:

      1. We gebruiken dezelfde code als voor het maken van onze tabel, het enige verschil is dit keer dat we het filter voor hoofdletters gebruiken. We gebruiken dit filter in combinatie met de "ptutor.Name" zodat alle tekst in de eerste kolom in hoofdletters wordt weergegeven.

      Als de code met succes is uitgevoerd, wordt de volgende uitvoer weergegeven wanneer u uw code in de browser uitvoert.

      Uitgang:

      Van de output,

      • We kunnen zien dat door het filter "hoofdletters" te gebruiken, alle gegevens in de eerste kolom worden weergegeven met hoofdletters.

      Geef de tabelindex weer ($ index)

      Om de tabelindex weer te geven, voegt u een

      toe met $ index.

      Laten we eens kijken naar een voorbeeld van hoe we dit kunnen bereiken.

      Event Registration
      

      Guru99 Global Event

      {{$index + 1}}{{ptutor.Name}}{{ptutor.Description}}

      Code Verklaring:

      1. We gebruiken dezelfde code als voor het maken van onze tabel, het enige verschil is dit keer dat we een extra rij aan onze tabel toevoegen om de indexkolom weer te geven.

        In deze extra kolom gebruiken we de eigenschap "$ index" van AngularJS en gebruiken we vervolgens de +1 operator om de index voor elke rij te verhogen.

      Als de code met succes is uitgevoerd, wordt de volgende uitvoer weergegeven wanneer u uw code in de browser uitvoert.

      Uitgang:

      Van de output,

      • U kunt zien dat er een extra kolom is gemaakt. In deze kolom kunnen we de indexen zien die voor elke rij worden gemaakt.

      Overzicht:

      • Tabelstructuren worden gemaakt met behulp van de standaardtags die beschikbaar zijn in HTML. De gegevens in de tabel worden gevuld met de "ng-repeat" -instructie.
      • Het filter orderBy kan worden gebruikt om de tabel te sorteren op basis van een willekeurige kolom in de tabel.
      • Het filter voor hoofdletters kan worden gebruikt om de gegevens in elke op tekst gebaseerde kolom in hoofdletters weer te geven.
      • De eigenschap "$ index" kan worden gebruikt om een ​​index voor de tabel te maken.
      • Een veelvoorkomend probleem tijdens de ontwikkeling met AngularJS.JS-tabellen is de implementatie van grote gegevenssets met meer dan 1000 gegevensrijen. Soms reageert de ng-repeat-richtlijn niet meer, en daarom reageert de hele pagina soms niet meer. In dat geval is het altijd beter om een ​​paginering te hebben waarin de rijen met gegevens over meerdere pagina's zijn verdeeld.