Multiple classes in ngClass

后端 未结 3 1323
渐次进展
渐次进展 2021-02-07 20:52

I\'m trying to add multiple values in *ngClass, what used to work on previous alpha releases and doesn\'t seem to work now on angular2 beta:



        
相关标签:
3条回答
  • 2021-02-07 20:58

    You can also build a string containing several classes.

    In this case additionalClass is an @Input var containing the classname and active is a boolean that sets the active class

    <div [ngClass]="(additionalClass + ' ' + (active ? 'active' : ''))"></div>
    
    0 讨论(0)
  • 2021-02-07 21:10

    If you aren't going to be changing these classes dynamically then using ngClass is overkill. You can simply use class="fa fa-star" in your template.

    ngClass should be used when you when you want to switch these on and off dynamically. There's an example in the docs:

    Your component would have a method:

    setClasses() {
      return {
        saveable: this.canSave,      // true
        modified: !this.isUnchanged, // false
        special: this.isSpecial,     // true
      }
    }
    

    then use ngClass in your template like so:

    <div [ngClass]="setClasses()">This div is saveable and special</div>
    
    0 讨论(0)
  • 2021-02-07 21:19

    You should use square brackets to create property binding. See this plunk

    <i [ngClass]="['fa','fa-star']"></i>
    
    0 讨论(0)
提交回复
热议问题