-2

I am trying to add multiple class name in ngclass but not working.I do not know how to add multiple css class name in angular 2. classname3 is not adding properly. If any one know please help me to resovle this issue.

Note: classname3 is a variable..dynamically i am changing class name. Example: public classname3="itemlist";

app.component.html:

  <div [ngClass]="[check? 'Class name 1' : 'Class name 2 + ' classname3''] "></div>

app.component.ts:

public check=true;
public classname3="itemlist";
cinnan
  • 97
  • 2
  • 12

2 Answers2

4

If you just need to add classname3, put it class like this:

<div class="{{ classname3 }}" [ngClass]="[check? 'Class name 1' : 'Class name 2']"></div>

If you need logic that pivots for lots of classes you can do this instead:

<div [ngClass]="{
    'Class Name 1': check,
    'Class Name 2': !check,
    'Classname3': SomeOtherCheck
    ....
}></div>

The docs are a great resource and show all of this. https://angular.io/api/common/NgClass

Mathew Berg
  • 28,625
  • 11
  • 69
  • 90
0

[ngClass] expects an expression, with that in mind you need to concat the third class.

<div [ngClass]="(check) ? 'Class name 1' : 'Class name 2' +' classname3' "></div>