J'essaie d'afficher / masquer du HTML en utilisant les fonctions ng-show
et ng-hide
fournies par AngularJS .
Selon la documentation, l'utilisation respective de ces fonctions est la suivante:
ngHide - {expression} - Si l'expression est véridique, alors l'élément est affiché ou masqué respectivement. ngShow - {expression} - Si l'expression est véridique, alors l'élément est affiché ou masqué respectivement.
Cela fonctionne pour le cas d'utilisation suivant:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Cependant, si nous utilisons un paramètre d'un objet comme expression, alors la ng-hide
et ng-show
reçoivent la valeur true
/ correcte false
mais les valeurs ne sont pas traitées comme un booléen, donc retournez toujours false
:
La source
<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>
Résultat
<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>
C'est soit un bug, soit je ne le fais pas correctement.
Je ne trouve aucune information relative sur le référencement des paramètres d'objet en tant qu'expressions, alors j'espérais que quiconque ayant une meilleure compréhension d'AngularJS pourrait m'aider?