मैं एक तत्व के वर्ग का उपयोग कर टॉगल करने की कोशिश कर रहा हूं ng-class
<button class="btn">
<i ng-class="{(isAutoScroll()) ? 'icon-autoscroll' : 'icon-autoscroll-disabled'}"></i>
</button>
isAutoScroll ():
$scope.isAutoScroll = function()
{
$scope.autoScroll = ($scope.autoScroll) ? false : true;
return $scope.autoScroll;
}
असल में, अगर $scope.autoScrollयह सच है, तो मैं एनजी-क्लास होना icon-autoscrollचाहता हूं और अगर यह गलत है, तो मैं चाहता हूं कि यह होicon-autoscroll-disabled
मेरे पास अब काम नहीं है और कंसोल में यह त्रुटि उत्पन्न हो रही है
Error: Lexer Error: Unexpected next character at columns 18-18 [?] in expression [{(isAutoScroll()) ? 'icon-autoscroll' : 'icon-autoscroll-disabled'}].
मैं इसे सही तरीके से कैसे करूं?
संपादित करें
समाधान 1: (पुराना)
<button class="btn" ng-click="autoScroll = !autoScroll">
<i ng-class="{'icon-autoscroll': autoScroll, 'icon-autoscroll-disabled': !autoScroll}"></i>
</button>
EDIT 2
समाधान 2:
मैं समाधान को अद्यतन करना चाहता था Solution 3, जैसा कि स्टीवी द्वारा प्रदान किया गया था, इसका उपयोग किया जाना चाहिए। यह सबसे मानक है जब यह टर्नरी ऑपरेटर (और मुझे पढ़ने में सबसे आसान) के लिए आता है। समाधान होगा
<button class="btn" ng-click="autoScroll = !autoScroll">
<i ng-class="autoScroll ? 'icon-autoscroll' : 'icon-autoscroll-disabled'"></i>
</button>
अनुवाद करने के लिए:
if (autoScroll == true) ?// उपयोग वर्ग 'icon-autoscroll' :// और उपयोग'icon-autoscroll-disabled'
autoScrollयहां प्रत्येक बटन में प्रभाव क्यों होगा? (मैंने कई बटन के साथ इसका परीक्षण किया, और यह अच्छी तरह से काम भी करता है) मेरा मतलब है, जब मैं प्रत्येक बटन पर क्लिक करता हूं, तो यह सभी बटन के बजाय बस उस बटन को प्रभावित करता है।
angular expressionsडॉक्स में प्रति व्यक्ति सशर्त का उपयोग नहीं कर सकते हैं => कोई नियंत्रण प्रवाह विवरण नहीं: आप कोणीय अभिव्यक्ति में निम्न में से कोई भी नहीं कर सकते हैं: सशर्त, लूप, या फेंक। किसी अन्य फ़ंक्शन या निर्देश का उपयोग करें