Угловой 2 нгКласс условный с данными?

Поэтому я в основном пытаюсь выделить, если объект уже выбран. Как я могу сравнить объекты, чтобы изменить классы? Что-то вроде этого

<[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>

2 ответа

Решение

Вам не нужны скобки интерполяции {{}}, В этом случае, [ngClass] ищет выражения, так

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

или же

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

буду работать.

Вы хотите, чтобы все выражение внутри {{}} оценивать до нужной вам строки класса

[ngClass]="{{perkResult.perk === perk.perk ? 'highlight' : 'none-hightlight'}}"
Другие вопросы по тегам