Are complex expressions possible in ng-hide / ng-show?
I want to do so:
ng-hide="!globals.isAdmin && mapping.is_default"
but the expression evaluates always to false
.
I do not want to define special function on $scope
.
Use a controller method if you need to run arbitrary JavaScript code, or you could define a filter that returned true or false.
I just tested (should have done that first), and something like ng-show="!a && b"
worked as expected.
ng-show
/ ng-hide
accepts only boolean
values.
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.
Example: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
For any more expressions than this use a controller.