HTML-ju v vašem projektu Angular lahko dodate direktive. Nekateri nadzorujejo strukturo vaše oznake, medtem ko se drugi osredotočajo na atribute.
Ta članek bo obravnaval šest najpogostejših direktiv Angular: ngFor, ngIf, ngClass, ngStyle, ngModel in ngSwitch.
Kaj so kotne direktive?
Kotne direktive vam omogočajo uporabo stavkov if in zank ter dodajanje drugega vedenja v kodo HTML Angular projekta.
direktiva | Opis |
---|---|
*ngČe | ngIf lahko uporabite, ko želite, da se nekateri bloki HTML prikažejo samo, če izpolnjujejo določen pogoj. Na primer, če ste imeli obrazec s pojavnim oknom, ki se prikaže, ko je uporabnik vnesel vnos za določeno polje. |
*ngZa | Če potrebujete določen blok za večkratno ponovitev, lahko uporabite ngFor. Na primer, če ste imeli seznam elementov in bi morali prikazati div za vsak element. |
*ngClass | To doda pogojni stil z uporabo razreda. Če stavek if izpolnjuje pogoj, bo uporabil navedeni razred. |
*ngStyle | To doda pogojno in-line stiliranje. Če stavek if izpolnjuje pogoj, bo uporabil določene sloge. |
*ngModel | To vam omogoča dvosmerno vezavo. To pomeni, da lahko podatke prenašate v obe smeri med datoteko HTML in TypeScript. Vrednost atributa lahko na primer posredujete iz datoteke TypeScript v datoteko HTML in obratno. |
*ngSwitch | To vam omogoča, da dodate stavek switch z veliko primeri za preverjanje številnih vrednosti. Glede na primere bodo prikazani nekateri elementi HTML. |
Strukturne direktive vključujejo strukturo elementov HTML. Ti vključujejo ngIf, ngFor in ngSwitch. Atributne direktive vključujejo spreminjanje lastnosti elementov HTML. Ti vključujejo ngStyle, ngClass in ngModel.
Kako uporabljati ngIf
Če želite uporabiti ngIf, boste za prikaz določenega elementa HTML potrebovali pogoj, da se oceni, da je res.
- V datoteko TypeScript dodajte dve spremenljivki. V tem primeru obstajata spremenljivka noPlaylists in spremenljivka za shranjevanje seznamov predvajanja. Ta spremenljivka bo ocenjena na true, če je dolžina niza seznamov predvajanja 0.
noPlaylists: boolean = false;
seznami predvajanja: poljubno = [];konstruktor() { }
ngOnInit(): void {
če (this.playlists.length 0) {
this.noPlaylists = true;
}
} - V HTML dodajte stavek *ngIf. Če je noPlaylists res, se prikaže sporočilo o napaki v spodnjem razponu. V nasprotnem primeru ne bo. ngIf lahko uporabite za različne vrste HTML oznake.
Na voljo ni noben seznam predvajanja.
- Če želite v stavek if dodati komponento "else", boste morali v blok predloge dodati kodo HTML za del "else".
Na voljo ni noben seznam predvajanja.
Najdeni seznami predvajanja.
Kako uporabljati ngFor
Če morate na strani ponoviti določeno število blokov, lahko uporabite direktivo ngFor.
- V datoteko TypeScript dodajte elemente v matriko.
seznami predvajanja: poljubno = [
{"name": "Rock", "numberOfSongs": 5},
{"name": "Contemporary", "numberOfSongs": 9},
{"name": "Popular", "numberOfSongs": 14},
{"name": "Acoustic", "numberOfSongs": 3},
{"name": "Poročne pesmi", "numberOfSongs": 25},
{"name": "Metal", "numberOfSongs": 0},
]; - V datoteko HTML dodajte stavek *ngFor.
Znotraj ngFor se boste lahko sklicevali na vsak predmet v matriki s spremenljivko "playlist". "playlist.name" in "playlist.numberOfSongs" bosta natisnila oba atributa znotraj oznaka.Najdeni seznami predvajanja.
{{playlist.name}}
{{playlist.numberOfSongs}} pesmi
Kako uporabljati ngClass
Na podlagi pogoja lahko spremenite slog oblikovanja, ki ga uporablja določen div.
- Dodajte dva razreda v datoteko CSS z različnimi slogi. Dodate lahko katero koli Oblikovanje CSS želite, na primer različne barve ozadja.
.songs {
barva ozadja: #F7F5F2;
}
.noSongs {
barva ozadja: #FFA8A8;
} - Znotraj zanke for iz prejšnjega koraka dodajte direktivo atributa ngClass. [ngClass]="playlist.numberOfSongs > 0? 'songs': 'noSongs'" uporablja isto ternarni operater, ki JavaScript in uporabo drugih jezikov.
Če je število skladb večje od nič, bo razred "songs" uporabil za div. To bo divju dalo sivo barvo ozadja. V nasprotnem primeru, če je število skladb nič, bo razred "noSongs" uporabil za div. Tako bo div dobil rdečo barvo ozadja.
{{playlist.name}}
{{playlist.numberOfSongs}} pesmi
Kako uporabljati ngStyle
Namesto uporabe ngClass lahko uporabite ngStyle, če želite uporabiti in-line slog namesto oblikovanja prek razreda.
- Spremenite ngClass iz prejšnjega koraka, da namesto tega uporabite ngStyle.
{{playlist.name}}
{{playlist.numberOfSongs}} pesmi
[ngStyle]="{'background-color': playlist.numberOfSongs > 0? '#F7F5F2': '#FFA8A8', 'barva': playlist.numberOfSongs > 0? 'črna': 'temno modra' }"
Kako uporabljati ngModel
Za dvosmerno vezavo lahko uporabite ngModel. To pomeni, da lahko posredujete vrednost atributa med datotekami HTML in TypeScript.
Recimo, da imate v datoteki HTML vnosni element, ki uporablja ngModel. Atribut ngModel je vezan na spremenljivko v datoteki TypeScript. Ko vnesete vrednost v vhod, bo posodobila spremenljivko v datoteki TypeScript.
Spremembe atributa v datoteki TypeScript se bodo odražale tudi v HTML-ju, če drugi divji uporabljajo to spremenljivko.
- V app.module.ts dodajte FormsModule v uvoze na vrhu datoteke in tudi v matriko uvozov.
uvozi { FormsModule } iz '@angular/forms';
@NgModule({
uvoz: [
...
FormsModule
]
}) - Dodajte atribut v datoteko TypeScript, da spremljate, kdaj uporabnik preimenuje seznam predvajanja.
preimenovanje seznamov predvajanja: boolean = false;
- Spremenljivko seznamov predvajanja naredite javno, da bo ta dostopna pri uporabi ngModel v datoteki HTML.
javni seznami predvajanja: kateri koli = [
...
]; - Dodajte dva gumba v datoteko HTML, ki vam bosta omogočila preimenovanje ali preklic preimenovanja vsakega seznama predvajanja.
- Dodajte vnosno polje znotraj div vsakega seznama predvajanja. Vnos bo viden samo, ko kliknete na Preimenuj seznam predvajanja gumb. To vnosno polje bo imelo ngModel, vezan na "playlist.name".
Ko vnesete novo ime v vnosno polje, se playlist.name posodobi v datoteki TypeScript. To bo nato posodobilo tudi druge dive v datoteki HTML, ki uporabljajo playlist.name.
Kako uporabljati ngSwitch
Uporabite lahko ngSwitch za prikaz določenih elementov na podlagi primerov v ohišju stikala.
- Dodajte nov atribut "ocena" predmetom znotraj niza seznamov predvajanja. Ta atribut je lahko poljubno število med 0 in 5 (vključno).
javni seznami predvajanja: kateri koli = [
{"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": "Poročne pesmi", "numberOfSongs": 25, "ocena": 5},
{"name": "Metal", "numberOfSongs": 0, "rating": 0},
]; - Pod imenom in številom skladb za seznam predvajanja dodajte preklopno črto. Na podlagi ocene za seznam predvajanja bo seznam predvajanja prikazal pravilno število zvezdic.
{{playlist.name}}
{{playlist.numberOfSongs}} pesmi
★★★★★★★★★★★★★★★Brez ocen
Naučite se več z Angular
Zdaj ste se naučili osnov Angularnih direktiv, vključno z uporabo ngIf, ngFor, ngClass, ngStyle, ngModel in ngSwitch. Lahko jih kombinirate in ustvarite bolj zapletene uporabniške vmesnike. Veliko več lahko raziščete in se naučite o Angularju, ne glede na to, ali ste začetnik ali napreden.
8 najboljših kotnih tečajev za začetnike in napredne uporabnike
Preberite Naprej
Povezane teme
- Programiranje
- Programiranje
- JavaScript
- HTML
- CSS
O avtorju
Sharlene je tehnična pisateljica pri MUO in polni delovni čas dela tudi na področju razvoja programske opreme. Je diplomirana informatika in ima predhodne izkušnje na področju zagotavljanja kakovosti in univerzitetnega mentorstva. Sharlene obožuje igre in igra klavir.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite