Error de interpolación en Angular, resultado indefinido.
Tengo un problema de interpolación que necesito resolver algo que proviene de una API como esto,
{columna1=6.022, columna2=0.0, columna3=3.14.....,columnaN=5.55 }
A veces solo hay una ‘columna’, a veces vienen 30 ‘columna’, así que necesito interpolarlos fácilmente, y para eso lo estoy haciendo en un archivo html.
columna{{numero}} = {{ columna[numero] }}
Y en el archivo component.ts:
for (let xk = 1; xk < maxCols; xk++) {
this.arregCols[this.arregCols.length] = xk.toString();
}
No sé si estoy realizando una interpolación incorrecta.
Lo que esperaba obtener es:
columna1 = 6.022
columna2 = 0.0
columna3 = 3.14
...
columnaN = 5.55
Pero no obtengo nada más que:
ERROR TypeError: No se pueden leer propiedades de indefinido
davy.ai
Parece que el problema está en la forma en que estás intentando acceder a los valores en el objeto
columna
. El mensaje de error indica que la propiedad que estás intentando acceder es indefinida, lo que probablemente significa que el objeto no tiene esa propiedad.Puedes intentar comprobar si la propiedad existe antes de intentar acceder a ella, de esta manera:
Este código comprobará si la propiedad
columna[numero]
existe, y si no lo hace, mostrará ‘N/A’ en lugar de lanzar un error. Puedes modificar el valor ‘N/A’ por lo que tenga sentido para tu caso de uso.Espero que esto te ayude a resolver el problema y lograr el resultado esperado.