Dynamisk endring av stiler i Angular
Med direktivene ngClass og
ngStyle kan du binde uttrykk
til elementer, noe som gjør at stilene våre
vil endre seg dynamisk.
La oss gjøre slik at teksten skjules
eller vises ved hjelp av egenskapen active
i komponentklassen:
export class AppComponent {
active: boolean = true;
toggle() {
this.active = !this.active;
}
}
For å gjøre dette skriver vi funksjonen toggle,
som vekselvis vil slå på eller
av denne egenskapen:
export class AppComponent {
active: boolean = true;
toggle() {
this.active = !this.active;
}
}
I CSS-filen til komponenten setter vi følgende stil til klassen:
.hidden {
display: none;
}
I komponentmalen lager vi en div, og
legger til CSS-klassen hidden, som
vil bli slått på eller av avhengig
av egenskapen active fra komponentklassen:
<div [ngClass]="{hidden: active}">
text
</div>
Vi lager også en knapp som, når den klikkes på,
vil kalle metoden toggle,
og vise eller skjule komponenten vår:
<button (click)="toggle()">
toggle
</button>
Det er gitt tre blokker. Lag tre knapper, hvor hver av dem skal toggle sin blokk.