按位角度表达式不起作用

Val*_*Val 7 angularjs angular-ui angularjs-scope angularjs-ng-repeat

我有一个基本的ng-show表达式如下:

ng-show="((message.status & messageStatus.Spam) != 0)"
Run Code Online (Sandbox Code Playgroud)

但是,这会失败并出现以下消息: "Token'&'在表达式"第18列出现意外,期待[)].

Angular是否支持按位操作,还是我需要编写一个函数来评估那些简单的函数?

小智 5

来自angularjs github buglist:https://github.com/angular/angular.js/issues/2838

http://docs.angularjs.org/guide/expression"Angular Expressions与JS表达式将Angular视图表达式视为JavaScript表达式可能很诱人,但这并不完全正确,因为Angular不使用JavaScript eval( )评估表达."

您可以使用过滤器来实现这样的效果:

angular.module('project', [])
.filter('bitwiseAnd', function () {
    return function (firstNumber, secondNumber) {
        return ((parseInt(firstNumber, 10) & parseInt(secondNumber, 10)) === parseInt(secondNumber, 10));
    // return firstNumber % secondNumber > 0
    };
});
Run Code Online (Sandbox Code Playgroud)