AngularJS: ng-show / ng-hide no funciona con `{}}` interpolación
Estoy tratando de mostrar / ocultar algo de HTML usando las funciones ng-show
y ng-hide
proporcionadas por AngularJS.
De acuerdo con la documentación, el uso respectivo para estas funciones es el siguiente:
NgHide – {expression} - Si la expresión truth entonces el elemento se muestra u oculta respectivamente. ngShow – {expression} - Si la expresión es verdadera, 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, si usamos un parámetro de un objeto como expresión, entonces ng-hide
y ng-show
reciben la expresión correcta true
/false
valor pero los valores no son tratados como un booleano por lo que siempre devuelve 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 estoy haciendo esto correctamente.
No puedo encontrar ninguna información relativa sobre la referencia de parámetros de objeto como expresiones, por lo que estaba esperando que alguien con una mejor comprensión de AngularJS podría ser capaz de ayudarme?
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52