Je dois donner un cours à un <tr>
si une propriété d'élément a la même valeur qu'une propriété d'un objet dans un tableau.
Voici le code que j'ai actuellement:
<tr *ngFor="let item of closingDayGroupsList" [class.inactive]="definitionDetails.Groups.filter(i => i.AbsenceReservationGroupID === item.ID).length > 0">
mais maintenant je reçois le erreur:
Bindings cannot contain assignments
Je ne sais pas si ce que je fais est une mauvaise pratique, ou si je fais juste des erreurs de syntaxe.
C'est le seul moyen que je connaisse pour réaliser ce que je veux, mais ça ne marche pas
C'est une mauvaise pratique d'utiliser expressions
dans angular bindings
Déplacez le class
expression dans le contrôleur.
export class AppComponent {
title = 'Groups';
getClass(item): void {
// add filter logic here
return this.definitionDetails.Groups.filter(i => i.AbsenceReservationGroupID === item.ID).length > 0
}
}
Le tr sera quelque chose comme,
<tr *ngFor="let item of closingDayGroupsList" [class.inactive]="getClass(item)">
Il y a un petit problème avec ça. Prenons comme exemple, que je veux arrêter d'afficher la date à l'utilisateur qui est égale à 0000.00.00, donc, en prenant la liaison d'expression en ligne, je peux la trouver directement dans:
{{(appointment_date === "0000.00.00") ? ' ' : appointment_date}}