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