Directive ngClass
Assume we have a component called servers
. ngClass directive can dynamically change the CSS class of an element. Different from ngStyle, we need a to use the component CSS file this time to set the style.
servers.component.html
ngClass take an array of 'css_class_name' : boolean expression pair. If the expression is true, it will dynamically add the css_class_name in to the related HTML element.
<p [ngClass]="{ 'redBackground': bIsBackgroundRed, 'greenBackground': !bIsBackgroundRed }"> The button is clicked </p> <button (click)="onButtonClicked()">Change Color</button>
servers.component.ts
import {Component, OnInit} from '@angular/core'; @Component({ selector: 'app-servers', templateUrl: './servers.component.html', styleUrls: ['./servers.component.css'] }) export class ServersComponent implements OnInit { bIsBackgroundRed: boolean; constructor() { } ngOnInit() { this.bIsBackgroundRed = false; } onButtonClicked() { this.bIsBackgroundRed = true; } }
servers.component.css
.redBackground{ background: indianred; } .greenBackground{ background:greenyellow; }