Я намагаюся показати / приховати якийсь HTML за допомогою ng-show
та ng-hide
функцій, наданих AngularJS .
Згідно з документацією, відповідне використання цих функцій полягає в наступному:
ngHide - {вираз} - Якщо вираз truthy, то елемент відображається або приховується відповідно. ngShow - {вираз} - Якщо вираз truthy, елемент відображається або приховується відповідно.
Це працює для наступного використання:
<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 може мені допомогти?