Voglio farlo:
ng-hide="!globals.isAdmin && mapping.is_default"
ma l'espressione valuta sempre a false
.
Non voglio definire la funzione speciale attivata $scope
.
Voglio farlo:
ng-hide="!globals.isAdmin && mapping.is_default"
ma l'espressione valuta sempre a false
.
Non voglio definire la funzione speciale attivata $scope
.
Risposte:
Utilizzare un metodo controller se è necessario eseguire codice JavaScript arbitrario o è possibile definire un filtro che ha restituito true o false.
Ho appena testato (avrei dovuto farlo prima) e qualcosa del genere ha ng-show="!a && b"
funzionato come previsto.
ng-show
/ ng-hide
accetta solo boolean
valori.
Per espressioni complesse è bene usare controller e ambito per evitare complicazioni.
Sotto uno funzionerà (non è un'espressione molto complessa)
ng-show="User=='admin' || User=='teacher'"
Qui l'elemento verrà mostrato nell'interfaccia utente quando una delle due condizioni restituisce true (operazione OR).
In questo modo puoi usare qualsiasi espressione.
Funzionerà se non hai troppe espressioni.
Esempio: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
Per più espressioni di queste utilizzare un controller.
This will work if you do not have too many expressions.
anche se sono d'accordo che invece dovrebbe essere fatto nel controller.
In genere cerco di evitare le espressioni con ng-show e ng-hide in quanto progettate come booleane, non come condizionali. Se ho bisogno sia della logica condizionale che di quella booleana, preferisco inserire la logica condizionale usando ng-if come primo controllo, quindi aggiungere un ulteriore controllo per la logica booleana con ng-show e ng-hide
Tuttavia, se vuoi usare un condizionale per ng-show o ng-hide, ecco un link con alcuni esempi: Visualizzazione condizionale usando ng-if, ng-show, ng-hide, ng-include, ng-switch
Alcune di queste risposte non hanno funzionato per me, ma questo ha funzionato. Nel caso in cui qualcun altro abbia lo stesso problema.
ng-show="column != 'vendorid' && column !='billingMonth'"
false
, potresti voler ricontrollare quei valori. È possibile che gli oggetti "globali" e / o "undefined