Saltar al contenido

Angular Input () toma indefinido después de proporcionar el valor predeterminado

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *