Ya no necesitas indagar más por todo internet porque llegaste al espacio indicado, poseemos la solución que necesitas y sin complicarte.
Solución:
Esto debería hacer lo que quieras:
o más corto
Cada
crea una nueva instancia y ====
la comparación de diferentes instancias de objetos siempre da como resultado false
. Cuando se convierten en cadenas ===
resultados a true
Ejemplo de Plunker
También podrías usar algo así:
con el isEmptyObject
método definido en su componente:
isEmptyObject(obj)
return (obj && (Object.keys(obj).length === 0));
De las respuestas anteriores, lo siguiente no funcionó o es menos preferible:
(previous_info | json) != ''
funciona solo para
caja vacía, no para null
o undefined
caso
Object.getOwnPropertyNames(previous_info).length
tampoco funcionó, como Object
no es accesible en la plantilla
- No me gustaría crear una variable dedicada
this.objectLength = Object.keys(this.previous_info).length !=0;
-
No me gustaría crear una función dedicada
isEmptyObject(obj)
return (obj && (Object.keys(obj).length === 0));
Solución: tubería de valor clave junto con ?. (operador de navegación segura); y parece sencillo.
Funciona bien cuando previous_info = null
o previous_info = undefined
o previous_info =
y trata como un valor falso.
keyvalue: transforma un objeto o un mapa en un array de key pares de valores.
?. – El operador de navegación segura angular (?.) es una forma fluida y conveniente de protegerse contra null e indefinido
MANIFESTACIÓN: demostración con angular 9, aunque también funciona para versiones anteriores
Recuerda que te concedemos esclarecer tu experiencia si te fue de ayuda.
¡Haz clic para puntuar esta entrada!(Votos: 0 Promedio: 0)
Utiliza Nuestro Buscador