Solución:
Puedes usar un setter
a la propiedad de entrada para determinar si es un valor válido o no y asignarlo a un valor predeterminado como
private color: string;
@Input('color')
set Color(color: string) 'red';
Una muestra creada en https://stackblitz.com/edit/angular-setter-for-null-input-property
El valor predeterminado significa que cuando no está pasando ningún valor, angular pone el valor predeterminado. Pero aqui estas pasando undefined
(cuando la propiedad no existe) y es bastante obvio que las posiciones angulares undefined
como color
variable.
Puede solucionar esto poniendo primero el valor predeterminado en su matriz:
let arr = [
score: 6, text: "Spanish" color : "blue" ,
score: 8, text: "English"
]
arr.forEach(function(item, index, theArray)
if(theArray[index].color == undefined)
theArray[index].color = "red";
);
¡No probado, pero debería funcionar!
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)