AngularJS: ng-show / ng-hide nie działa z interpolacją `{{}}`

Próbuję pokazać / ukryć niektóre HTML za pomocąng-show ing-hide funkcje dostarczone przezAngularJS.

Zgodnie z dokumentacją odpowiednie użycie tych funkcji jest następujące:

ngHide - {wyrażenie} - Jeśli wyrażenie truey, element jest pokazywany lub ukryty odpowiednio. ngShow - {wyrażenie} - Jeśli wyrażenie jest prawdziwe, element jest pokazywany lub ukryty odpowiednio.

Działa to dla następującej skrzynki:

<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>

Jednak powinniśmy użyć parametru z obiektu jako wyrażenia, a następnieng-hide ing-show są poprawnetrue/false wartość, ale wartości nie są traktowane jako wartość logiczna, więc zawsze zwracajfalse:

Źródło

<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>

Wynik

<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>

To jest błąd lub nie robię tego poprawnie.

Nie mogę znaleźć żadnych względnych informacji na temat odwoływania się do parametrów obiektu jako wyrażeń, więc miałem nadzieję, że każdy, kto lepiej zrozumie AngularJS, może mi pomóc?

questionAnswers(7)

yourAnswerToTheQuestion