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?