angular - Aplică regulile CSS condiționat la elemente într-o buclă *ngFor


Am o listă completată dinamic cu obiecte.

Vreau să reușesc să adaug o culoare de fundal div-ului care conține caseta de selectare bifată.

În plus, vreau să afișez butoanele atunci când caseta de selectare este bifată.

<div *ngFor="let item of items" [ngClass]="classname: ifCheckboxChecked">
  <p-checkbox (onChange)="onCheckboxChecked($event)"></p-checkbox>
  <span>{{item.itemName}}</span>
  <div *ngIf="ifCheckboxChecked">
    <button></button>
    <button></button>
  </div>
</div>

Răspuns #1

Cea mai bună metodă posibilă ar fi să adăugați această proprietate „isChecked” la modelul elementului dumneavoastră. Codul ar putea arăta astfel:

<div *ngFor="let item of items" [class.classname]="item.isChecked">
  <p-checkbox [(value)]="item.isChecked"></p-checkbox>
  <span>{{item.itemName}}</span>
  <div *ngIf="item.isChecked">
    <button></button>
    <button></button>
  </div>
</div>