Varat pievienot direktīvas HTML savā Angular projektā. Daži kontrolē jūsu marķējuma struktūru, bet citi koncentrējas uz atribūtiem.

Šajā rakstā tiks apskatītas sešas visizplatītākās Angular direktīvas: ngFor, ngIf, ngClass, ngStyle, ngModel un ngSwitch.

Kas ir leņķiskās direktīvas?

Angular direktīvas ļauj izmantot if paziņojumus un for cilpas, kā arī pievienot citu darbību Angular projekta HTML kodam.

instagram viewer
direktīva Apraksts
*ngJa Varat izmantot ngIf, ja vēlaties, lai daži HTML bloki tiktu rādīti tikai tad, ja tie atbilst noteiktam nosacījumam. Piemēram, ja jums bija veidlapa ar uznirstošo logu, kas tiek parādīts pēc tam, kad lietotājs ir ievadījis ievadi noteiktā laukā.
*ngPar Varat izmantot ngFor, ja jums ir nepieciešams noteikts bloks, kas jāatkārto vairākas reizes. Piemēram, ja jums bija vienumu saraksts un katram vienumam bija jāparāda div.
*ngClass Tas pievieno nosacītu stilu, izmantojot klasi. Ja paziņojums ja atbilst nosacījumam, tas piemēros norādīto klasi.
*ngStils Tas pievieno nosacītu in-line stilu. Ja paziņojums if atbilst nosacījumam, tas izmantos norādītos stilus.
*ngModelis Tas ļauj veikt divvirzienu iesiešanu. Tas nozīmē, ka varat pārsūtīt datus abos virzienos starp HTML un TypeScript failu. Piemēram, jūs varat nodot atribūta vērtību no TypeScript faila uz HTML failu un otrādi.
*ngSlēdzis Tas ļauj pievienot slēdža paziņojumu ar daudziem gadījumiem, lai pārbaudītu daudzas vērtības. Pamatojoties uz gadījumiem, tiks rādīti noteikti HTML elementi.

Strukturālās direktīvas ietver HTML elementu struktūru. Tie ietver ngIf, ngFor un ngSwitch. Atribūtu direktīvas ietver HTML elementu rekvizītu maiņu. Tie ietver ngStyle, ngClass un ngModel.

Kā lietot ngIf

Lai izmantotu ngIf, jums būs nepieciešams nosacījums, kas jānovērtē uz patiesu, lai rādītu konkrētu HTML elementu.

  1. Pievienojiet savam TypeScript failam divus mainīgos. Šajā piemērā ir mainīgais noPlaylists un mainīgais atskaņošanas sarakstu glabāšanai. Šis mainīgais tiks novērtēts kā patiess, ja atskaņošanas sarakstu masīva garums ir 0.
    noPlaylists: Būla = false;
    atskaņošanas saraksti: jebkurš = [];

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

  2. HTML kodā pievienojiet *ngIf priekšrakstu. Ja noPlaylists ir patiess, tiks parādīts kļūdas ziņojums, kas ietverts tālāk esošajā diapazonā. Citādi tā nebūs. Jūs varat piemērot ngIf dažādiem veidiem HTML tagi.

    Nav pieejams neviens atskaņošanas saraksts.

  3. Lai if-paziņojumam pievienotu komponentu “else”, veidnes blokā būs jāpievieno daļas “else” HTML kods.

    Nav pieejams neviens atskaņošanas saraksts.



    Atskaņošanas saraksti atrasti.

Kā lietot ngFor

Ja lapā ir jāatkārto noteikts bloku skaits, varat izmantot direktīvu ngFor.

  1. TypeScript failā pievienojiet vienumus masīvam.
    atskaņošanas saraksti: jebkurš = [
    {"name": "Rock", "numberOfSongs": 5},
    {"name": "Mūsdienu", "numberOfSongs": 9},
    {"name": "Populārs", "numberOfSongs": 14},
    {"name": "Akustisks", "numberOfSongs": 3},
    {"name": "Kāzu dziesmas", "numberOfSongs": 25},
    {"name": "Metal", "numberOfSongs": 0},
    ];
  2. HTML failā pievienojiet *ngFor priekšrakstu.
    Atskaņošanas saraksti atrasti.


    {{playlist.name}}
    {{playlist.numberOfSongs}} dziesmas


    Iekšā ngFor jūs varēsiet atsaukties uz katru objektu masīvā, izmantojot mainīgo "playlist". "playlist.name" un "playlist.numberOfSongs" drukā abus atribūtus tagu.

Kā lietot ngClass

Varat mainīt stila klasi, ko izmanto konkrētais div, pamatojoties uz nosacījumu.

  1. Pievienojiet CSS failam divas klases ar dažādiem stiliem. Jūs varat pievienot jebkura veida CSS stils vēlaties, piemēram, dažādas fona krāsas.
    .dziesmas {
    fona krāsa: #F7F5F2;
    }
    .noSongs {
    fona krāsa: #FFA8A8;
    }
  2. Iepriekšējās darbības cilpas ietvaros pievienojiet ngClass atribūta direktīvu. [ngClass]="playlist.numberOfSongs > 0? 'songs': 'noSongs'" izmanto to pašu trīskāršs operators, kas JavaScript un citās valodās.


    {{playlist.name}}
    {{playlist.numberOfSongs}} dziesmas

    Ja dziesmu skaits ir lielāks par nulli, dalījumam div tiks piemērota klase "dziesmas". Tas piešķirs div pelēku fona krāsu. Pretējā gadījumā, ja dziesmu skaits ir nulle, tas piemēros "noSongs" klasi div. Tas piešķirs div sarkanu fona krāsu.

Kā lietot ngStyle

Tā vietā, lai izmantotu ngClass, varat izmantot ngStyle, ja vēlaties izmantot in-line stilu, nevis stilu, izmantojot klasi.

  1. Mainiet ngClass no iepriekšējās darbības, lai tā vietā izmantotu ngStyle.

    {{playlist.name}}
    {{playlist.numberOfSongs}} dziesmas


  • Ja nepieciešams lietot vairāk nekā vienu iekļauto stilu, katru stilu varat atdalīt ar komatu.
    [ngStyle]="{'background-color': playlist.numberOfSongs > 0? '#F7F5F2': '#FFA8A8', 'krāsa': playlist.numberOfSongs > 0? 'melns': 'tumši zils' }"
  • Kā lietot ngModel

    Varat izmantot ngModel divvirzienu saistīšanai. Tas nozīmē, ka varat nodot atribūta vērtību gan starp HTML, gan TypeScript failiem.

    Piemēram, pieņemsim, ka HTML failā ir ievades elements, kas izmanto ngModel. Atribūts ngModel ir saistīts ar mainīgo TypeScript failā. Ievadot vērtību, tas atjauninās TypeScript failā esošo mainīgo.

    Izmaiņas, kas veiktas atribūtā TypeScript failā, tiks atspoguļotas arī HTML, ja citi divi izmanto šo mainīgo.

    1. Vietnē app.module.ts pievienojiet FormsModule importēšanai faila augšdaļā, kā arī importēšanas masīvam.
      importēt { FormsModule } no '@angular/forms';
      @NgModule({
      imports: [
      ...
      FormsModule
      ]
      })
    2. Pievienojiet TypeScript failam atribūtu, lai izsekotu, kad lietotājs pārdēvē atskaņošanas sarakstu.
      atskaņošanas sarakstu pārdēvēšana: Būla = false;
    3. Padariet atskaņošanas sarakstu mainīgo publisku, lai tas būtu pieejams, HTML failā izmantojot ngModel.
      publiski atskaņošanas saraksti: jebkurš = [
      ...
      ];
    4. Pievienojiet HTML failam divas pogas, kas ļaus pārdēvēt vai atcelt katra atskaņošanas saraksta pārdēvēšanu.

    5. Pievienojiet ievades lodziņu katra atskaņošanas saraksta div. Ievade būs redzama tikai tad, kad noklikšķināsit uz Pārdēvēt atskaņošanas sarakstu pogu. Šajā ievades lodziņā būs ngModel, kas saistīts ar "playlist.name".

      Kad ievades lodziņā ievadāt jaunu nosaukumu, TypeScript failā tiks atjaunināts playlist.name. Pēc tam tiks atjaunināti arī citi divfaili HTML failā, kas izmanto playlist.name.

    Kā lietot ngSwitch

    Varat izmantot ngSwitch, lai parādītu noteiktus elementus, pamatojoties uz gadījumiem slēdža korpusā.

    1. Pievienojiet jaunu "vērtējuma" atribūtu objektiem atskaņošanas sarakstu masīvā. Šis atribūts var būt jebkurš skaitlis no 0 līdz 5 (ieskaitot).
      publiski atskaņošanas saraksti: jebkurš = [
      {"name": "Rock", "numberOfSongs": 5, "rating": 5},
      {"name": "Mūsdienu", "numberOfSongs": 9, "rating": 1},
      {"name": "Populārs", "numberOfSongs": 14, "rating": 5},
      {"name": "Acoustic", "numberOfSongs": 3, "rating": 4},
      {"name": "Kāzu dziesmas", "numberOfSongs": 25, "rating": 5},
      {"name": "Metal", "numberOfSongs": 0, "rating": 0},
      ];
    2. Pievienojiet slēdža burtu zem atskaņošanas saraksta dziesmu nosaukuma un skaita. Pamatojoties uz atskaņošanas saraksta vērtējuma numuru, atskaņošanas sarakstā tiks rādīts pareizais zvaigžņu skaits.

      {{playlist.name}}
      {{playlist.numberOfSongs}} dziesmas



      ★★

      ★★★

      ★★★★

      ★★★★★

      Nav vērtējumu


    Uzziniet vairāk, izmantojot Angular

    Tagad esat apguvis Angular direktīvu pamatus, tostarp to, kā izmantot ngIf, ngFor, ngClass, ngStyle, ngModel un ngSwitch. Varat tos apvienot, lai izveidotu sarežģītākas lietotāja saskarnes. Ir daudz vairāk iespēju izpētīt un uzzināt par Angular neatkarīgi no tā, vai esat iesācējs vai jau pieredzējis.

    8 labākie leņķiskie kursi iesācējiem un pieredzējušiem lietotājiem

    Lasiet Tālāk

    DalītiesČivinātDalītiesE-pasts

    Saistītās tēmas

    • Programmēšana
    • Programmēšana
    • JavaScript
    • HTML
    • CSS

    Par autoru

    Šarlīna fon Drēnena (Publicēti 5 raksti)

    Šarlīna ir MUO tehnoloģiju rakstniece, kā arī pilnu slodzi strādā programmatūras izstrādē. Viņai ir IT bakalaura grāds un iepriekšēja pieredze kvalitātes nodrošināšanā un augstskolu apmācībā. Šarlīnai patīk spēlēt un spēlēt klavieres.

    Vairāk no Šarlīnas fon Drehnenas

    Abonējiet mūsu biļetenu

    Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

    Noklikšķiniet šeit, lai abonētu