Estoy tratando de mostrar / ocultar algo de HTML usando las funciones ng-show
y ng-hide
proporcionadas por AngularJS .
Según la documentación, el uso respectivo para estas funciones es el siguiente:
ngHide - {expresión} - Si la expresión es verdadera, el elemento se muestra u oculta respectivamente. ngShow - {expresión} - Si la expresión es verdadera, entonces el elemento se muestra u oculta respectivamente.
Esto funciona para el siguiente caso de uso:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Sin embargo, debemos usar un parámetro de un objeto como la expresión a continuación, el ng-hide
y ng-show
se les da la correcta true
/ false
valor pero los valores no son tratados como un booleano por lo que siempre volver false
:
Fuente
<p ng-hide="{{foo.bar}}">I could be shown, or I could be hidden</p>
<p ng-show="{{foo.bar}}">I could be shown, or I could be hidden</p>
Resultado
<p ng-hide="true">I should be hidden but I'm actually shown</p>
<p ng-show="true">I should be shown but I'm actually hidden</p>
Esto es un error o no lo estoy haciendo correctamente.
No puedo encontrar ninguna información relativa sobre la referencia de parámetros de objetos como expresiones, así que esperaba que alguien con una mejor comprensión de AngularJS pudiera ayudarme.