javascriptangularbinding

Angular 2 add multiple classes via [class.className] binding


While adding a single class works great in this way -

[class.loading-state]="loading"

But how do I add multiple classes Ex if loading is true add class - "loading-state" & "my-class"

How do I get it done via the [class] binding


Solution

  • You can do this by simply using ngClass :

    Here first,second and third are the name of the classes.

    And instead of true/false , you can directly put your conditions over there

     <div [ngClass]="{'first': true, 'second': true, 'third': false}">...</div>
    

    In your case

     <div [ngClass]="{'loading-state': loading, 'my-class': loading }">...</div>
    

    Or Shorter Veriosn (as @matko.kvesic commented)

    <div [ngClass]="{'loading-state my-class': loading}">...</div>