I have a basic ng-show expression as follows:
ng-show="((message.status & messageStatus.Spam) != 0)"
However, this fails with the following msg: "Token '&' is unexpected, expecting [)] at column 18 of the expression".
Does Angular support bitwise operations, or do I need to write a function to evaluate something as simple as that?
From the angularjs github buglist: https://github.com/angular/angular.js/issues/2838
http://docs.angularjs.org/guide/expression "Angular Expressions vs. JS Expressions It might be tempting to think of Angular view expressions as JavaScript expressions, but that is not entirely correct, since Angular does not use a JavaScript eval() to evaluate expressions."
You can use a filter to achieve the effect as such:
angular.module('project', [])
.filter('bitwiseAnd', function () {
return function (firstNumber, secondNumber) {
return ((parseInt(firstNumber, 10) & parseInt(secondNumber, 10)) === parseInt(secondNumber, 10));
// return firstNumber % secondNumber > 0
};
});