6

मैं इस प्रकार एक बुनियादी एनजी शो अभिव्यक्ति है अभिव्यक्ति:बिटवाइस कोणीय काम नहीं कर रहा

ng-show="((message.status & messageStatus.Spam) != 0)" 

बहरहाल, यह निम्नलिखित संदेश के साथ विफल: "टोकन '&', अप्रत्याशित है स्तंभ पर उम्मीद [)] अभिव्यक्ति के 18 "

क्या कोणीय समर्थन बिटवाई ऑपरेशंस करता है, या क्या मुझे कुछ आसान मूल्यांकन करने के लिए एक फ़ंक्शन लिखने की आवश्यकता है?

उत्तर

5
से

AngularJS GitHub buglist: https://github.com/angular/angular.js/issues/2838

http://docs.angularjs.org/guide/expression "कोणीय भाव बनाम जे एस भाव यह जावास्क्रिप्ट अभिव्यक्ति के रूप में कोणीय दृश्य भाव के बारे में सोचना आकर्षक हो सकता है, लेकिन यह पूरी तरह से सही के बाद से कोणीय नहीं है नहीं है, अभिव्यक्तियों का मूल्यांकन करने के लिए जावास्क्रिप्ट 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 
    }; 
}); 
+0

से प्रारंभ होना चाहिए मैं के लिए एक छोटे से मॉड्यूल लिखा है bitwise ऑपरेशन। जांचें [कोणीय-बिटवाई-फ़िल्टर] [1] [1]: https://github.com/lborgav/angular-bitwise-filter – lborgav

+0

यह दूसरा काम नहीं करता है, तो यह पहला काम नहीं करता है। उदाहरण के लिए "1 और 9" भी सच होना चाहिए। इसके बजाय "वापसी ((parseInt (firstNumber, 10) और parseInt (secondNumber, 10))> 0) होना चाहिए" – garethb

1

यह doc के अनुसार समर्थन नहीं करता।

विचार यह दस्तावेज़ पर '|' उल्लेख किया, लेकिन उलझन में नहीं मिलता है, '|'OR बिटवाइज़ नहीं है, यह है AngularJS के filter

0

आप इसके बजाय प्राइम नंबरों के साथ * /% का उपयोग कर सकते हैं। & बिट्स के साथ^

मैं इस expresions ussing हूँ:

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

संबंधित मुद्दे