I want to do so:
ng-hide="!globals.isAdmin && mapping.is_default"
but the expression evaluates always to
I do not want to define special function on
I just tested (should have done that first), and something like
ng-show="!a && b" worked as expected.
ng-hide accepts only
For complex expressions it is good to use controller and scope to avoid complications.
Below one will work (It is not very complex expression)
ng-show="User=='admin' || User=='teacher'"
Here element will be shown in UI when any of the two condition return true (OR operation).
Like this you can use any expressions.
This will work if you do not have too many expressions.
ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
For any more expressions than this use a controller.
I generally try to avoid expressions with ng-show and ng-hide as they were designed as booleans, not conditionals. If I need both conditional and boolean logic, I prefer to put in the conditional logic using ng-if as the first check, then add in an additional check for the boolean logic with ng-show and ng-hide
Howerver, if you want to use a conditional for ng-show or ng-hide, here is a link with some examples: Conditional Display using ng-if, ng-show, ng-hide, ng-include, ng-switch