Using & (bitwise AND operator) in Angular ng-if expressions
You cannot use the bitwise &
operator in an Angular expression. According to the documentation:
Angular expressions are like JavaScript expressions with the following differences:
- ...
- You cannot use Bitwise,
,
orvoid
operators in an Angular expression.If you want to run more complex JavaScript code, you should make it a controller method and call the method from your view.
A note on nomenclature: &
is the bitwise AND operator; &&
is the logical AND operator.
UPDATE: Your checkFlag
function is probably the best workaround because its name makes it clear what it does (and that's what I would use), but if you absolutely don't want an extra function, you can use the following equivalent expression:
<div ng-if="value % 4 >= 2"> </div>
In general, (value & x) != 0
(where x
is a power of 2) is equivalent to value % (2 * x) >= x
.