Estou tentando mostrar / ocultar algum HTML usando as funções ng-show
e ng-hide
fornecidas pelo AngularJS .
De acordo com a documentação, o uso respectivo para essas funções é o seguinte:
ngHide - {expression} - Se a expressão for verdadeira, o elemento será mostrado ou oculto, respectivamente. ngShow - {expression} - Se a expressão for verdadeira, o elemento será mostrado ou oculto, respectivamente.
Isso funciona para o seguinte caso de usuário:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
No entanto, devemos usar um parâmetro de um objeto como a expressão, em seguida, o ng-hide
e ng-show
é dada a correta true
/ false
valor, mas os valores não são tratados como um booleano por isso sempre retornar false
:
Fonte
<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>
Isso é um bug ou não estou fazendo isso corretamente.
Não consigo encontrar nenhuma informação relativa sobre como referenciar parâmetros de objetos como expressões, então esperava que alguém com uma melhor compreensão do AngularJS pudesse me ajudar?