次のような基本的な ng-show 式があります。
ng-show="((message.status & messageStatus.Spam) != 0)"
ただし、これは次のメッセージで失敗し ます。
Angular はビット単位の演算をサポートしていますか? それとも、そのような単純なものを評価する関数を作成する必要がありますか?
次のような基本的な ng-show 式があります。
ng-show="((message.status & messageStatus.Spam) != 0)"
ただし、これは次のメッセージで失敗し ます。
Angular はビット単位の演算をサポートしていますか? それとも、そのような単純なものを評価する関数を作成する必要がありますか?
angularjs github バグリストから: https://github.com/angular/angular.js/issues/2838
http://docs.angularjs.org/guide/expression "Angular Expressions vs. JS Expressions 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
};
});
ドキュメントによるとサポートしていません。
ドキュメントで言及されていると思い'|'
ましたが、混乱しないでください。'|'
ビット単位OR
ではなく、Angularjs のfilter
.
ビットで |&^ の代わりに素数で */% を使用できます
私はこの表現を使用しています:
ng-class="{'active':(filter% 2 )}"
ng-click="filter = filter % 2 ? filter * 2 : filter / 2"
ng-class="{'light':(filter % 2)}" class="fa fa-eye"
素数2、3、5で
あなたはから始めなければなりません$scope.filter=1