Sto cercando di mostrare / nascondere un po 'di HTML utilizzando le funzioni ng-show
e ng-hide
fornite da AngularJS .
Secondo la documentazione, i rispettivi usi per queste funzioni sono i seguenti:
ngHide - {espressione} - Se l'espressione è veritiera, allora l'elemento viene mostrato o nascosto rispettivamente. ngShow - {espressione} - Se l'espressione è vera, l'elemento viene mostrato o nascosto rispettivamente.
Questo funziona per il seguente caso d'uso:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Tuttavia, dovremmo utilizzare un parametro da un oggetto come espressione, quindi a ng-hide
e ng-show
viene fornito il valore true
/ false
valore corretto , ma i valori non vengono trattati come booleani, quindi restituiscono sempre false
:
fonte
<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>
Risultato
<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>
Questo è un bug o non lo sto facendo correttamente.
Non riesco a trovare alcuna informazione relativa sul riferimento ai parametri degli oggetti come espressioni, quindi speravo che qualcuno con una migliore comprensione di AngularJS potesse aiutarmi?