【问题标题】:Angular 2 ngClass conditional with data?Angular 2 ngClass 以数据为条件?
【发布时间】:2018-06-11 17:40:34
【问题描述】:

因此,如果已经选择了一个对象,我基本上会尝试设置一个突出显示。如何比较对象以更改类?像这样的

<[ngClass]="{{perkResult.perk === perk.perk}} ? 'highlight' : 'none-hightlight' ">

当前代码:

<div class="col-xs-12">
  <div class="col-xs-12 benefit-selection">
     <ul class="benefits-dropdown-ul" *ngIf="perkList"> .     
      <a class="benefits-dropdown-div" *ngFor="let perkResult of perkList.results" (click)="onAddPerk(perkResult)">
       //highlight here
        <li class="benefits-dropdown-li">{{ perkResult.perk }}</li>
      </a>
     </ul>
  </div>
 </div>

 <div class="col-xs-6 benefit-selected" *ngFor="let perk of company.perks; trackBy: customTrackBy; let i = inde
    {{ perk.perk }}
 </div>

【问题讨论】:

    标签: css angular conditional ng-class


    【解决方案1】:

    您不需要插值括号{{}}。在这种情况下,[ngClass] 正在寻找一个表达式,所以

    [ngClass]="perkResult.perk === perk.perk ? 'highlight' : 'none-hightlight'"
    

    [ngClass]="[perkResult.perk === perk.perk ? 'highlight' : 'none-hightlight']"
    

    会起作用的。

    【讨论】:

    • 很好用。但是我有 2 个 for 循环,并且 perk.perk 不会在我想要放置它的位置注册。如何参考?
    • @Kenzo 所以perkperkResult 在不同的范围内。我建议将perk.perk 存储在另一个变量中。 (比如说当某物被选中时)。然后你可以比较perkResult.perk === newVar
    【解决方案2】:

    您希望{{}} 中的整个表达式计算为您想要的类字符串

    [ngClass]="{{perkResult.perk === perk.perk ? 'highlight' : 'none-hightlight'}}"
    

    【讨论】:

    猜你喜欢
    • 2017-09-07
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 2021-07-19
    相关资源
    最近更新 更多