Angular ng类来比较字符串

Angular ng类来比较字符串,angular,ng-class,Angular,Ng Class,如果这个人有空,我需要设置绿点类;如果这个人忙,我需要设置红点类。“available”或“busy”是一个字符串,将作为API的响应。我尝试使用ng类设置类,但它对我无效 <div ng-class="{'led-green': {{person_list.person_available}} == 'available'}, {'led-red': {{person_lists.person_available}} == 'busy'}"></div> 它应该是这样

如果这个人有空,我需要设置绿点类;如果这个人忙,我需要设置红点类。“available”或“busy”是一个字符串,将作为API的响应。我尝试使用ng类设置类,但它对我无效

<div ng-class="{'led-green': {{person_list.person_available}} == 'available'}, {'led-red': {{person_lists.person_available}} == 'busy'}"></div>

它应该是这样的:

<div ng-class="{person_list.person_available === 'available' ? 'led-green' : 'led-red' }"></div>
<some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>

您需要将其更改为:

<div [ngClass]="{
                 'led-green': person_list.person_available === 'available',
                 'led-red': person_lists.person_available === 'busy'
                }">
</div>

区别在于:

  • 通过
    [ngClass]
  • 删除额外的
    {{}
  • 使用
    ==
    而不是
    =

  • 根据官方文档:,语法应该如下所示:

    <div ng-class="{person_list.person_available === 'available' ? 'led-green' : 'led-red' }"></div>
    
    <some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>
    
    。。。
    
    在您的情况下,请使用:

    <div [ng-class]="{'led-green': person_list.person_available == 'available'},
                     {'led-red': person_lists.person_available == 'busy'}">
    </div>
    
    
    
    你犯了两个错误:

  • 使用不带括号的ng类,如果使用ng类自定义语法,则需要括号
  • 使用ng类自定义语法时,不需要使用{{}}

  • 拆下双曲括号。您已经在一个角度表达式中了。如果您使用的是角度表达式,那么它是[ngClass],而不是ng类。AnguarJS和Angular是两种不同的框架。