Я пытаюсь показать/скрыть некоторый HTML, используя функции ng-show
и ng-hide
, предоставленные AngularJS.
В соответствии с документацией соответствующее использование для этих функций выглядит следующим образом:
ngHide - {выражение} - Если выражение правдиво, тогда элемент отображается или скрывается соответственно. ngShow - {выражение} - Если выражение правдиво, тогда элемент отображается или скрывается соответственно.
Это работает для следующего использования:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Однако, следует ли использовать параметр из объекта в качестве выражения, тогда ng-hide
и ng-show
заданы правильные значения true
/false
, но значения не рассматриваются как логические, поэтому всегда возвращайте false
:
Источник
<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>
Результат
<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>
Это либо ошибка, либо я делаю это неправильно.
Я не могу найти какую-либо относительную информацию о ссылках на параметры объекта в качестве выражений, поэтому я надеялся, что кто-нибудь с лучшим пониманием AngularJS сможет мне помочь?