Necesito dar una clase a un <tr> si una propiedad de un elemento tiene el mismo valor que una propiedad de un objeto en una matriz.
Aquí está el código que tengo actualmente:
<tr *ngFor="let item of closingDayGroupsList" [class.inactive]="definitionDetails.Groups.filter(i => i.AbsenceReservationGroupID === item.ID).length > 0">sin embargo ahora recibo el error :
Bindings cannot contain assignmentsNo estoy seguro de si lo que estoy haciendo es una mala práctica o si solo estoy cometiendo errores de sintaxis.
Esta es la única forma que conozco para lograr lo que quiero, pero no funciona.
Es una mala práctica usar expressions en angular bindings
Mueva la expresión de class al controlador.
export class AppComponent { title = 'Groups'; getClass(item): void { // add filter logic here return this.definitionDetails.Groups.filter(i => i.AbsenceReservationGroupID === item.ID).length > 0 } }El tr será algo como,
<tr *ngFor="let item of closingDayGroupsList" [class.inactive]="getClass(item)">Hay un pequeño problema con eso. Tomemos como ejemplo, que quiero dejar de mostrar la fecha al usuario que es igual a 0000.00.00, por lo que, al tomar el enlace de expresión en línea, puedo encontrarlo para:
{{(appointment_date === "0000.00.00") ? ' ' : appointment_date}}