2013-11-23 9 views
19

मैं अब तक नियंत्रक में है:ngstyle के साथ अस्पष्टता कैसे बदलें?

$scope.currentPage = 0; 

अब, नियंत्रक में किसी भी अतिरिक्त कोड (विधि) के बिना मैं छवि पर अस्पष्टता 0.4 सेट करना चाहते हैं जब currentPage ==0

तो मैं ने लिखा है:

<div ng-controller="ctrlRead"> 
    <div class="pagination no-margin "> 
    <ul> 
     <li ng-class="{disabled: currentPage == 0}"> 
     <a href="" 
      ng-class="{disabled: currentPage == 0}"> 
      <i class="icon-fast-backward" 
      ng-style="{opacity : (currentPage == 0)?'0.4':'1'}"> 
      </i> 
     </a> 
     </li> 
    </ul> 
    </div> 
</div> 

लेकिन मुझे त्रुटि मिलती है:

Unexpected next character at columns 29-29 [?] in expression [{opacity : (currentPage == 0)?'0.4':'1'}] 

Fiddle

मैं कुछ याद है?

धन्यवाद,

[संपादित करें]

मैं ng-style="myOpacity"

और नियंत्रक में लिख सकते हैं:

$scope.myOpacity = { 
    'opacity': ($scope.currentPage == 0)?0.4:1 
}; 

लेकिन यह नियंत्रक में अतिरिक्त कोड की मांग

उत्तर

29

अद्यतन: संस्करण 1.1.5 के बाद, कोणीय टेम्पलेट्स में टर्नरी ऑपरेटर के लिए समर्थन करता है।

कोणीय टेम्पलेट्स में टर्नरी ऑपरेटर के लिए समर्थन नहीं है। हालांकि, आप गरीब आदमी का त्रिगुट ऑपरेटर का उपयोग कर सकते हैं:

ng-style="{opacity : ((currentPage == 0) && '0.4') || '1'}"> 
+0

धन्यवाद, यह एक काम करता है :) क्षमा करें, वोट नहीं दे सकता है, 15 प्रतिष्ठा – snaggs

+0

1 गरीब व्यक्ति की टर्नरी के लिए! बहुत ही शांत। – joshperry

28

वास्तव में, AngularJS 1.1.5 त्रिगुट ऑपरेटर (https://github.com/angular/angular.js/commit/6798fec4390a72b7943a49505f8a245b6016c84b देखें) इसलिए यदि आप एक संस्करण> = 1.1.5 का उपयोग आप का उपयोग करने के लिए सक्षम होना चाहिए:

ng-style="{'opacity' : currentPage == 0 ? 0.4 : 1}" 
+0

इससे मुझे एक टन मदद मिली! धन्यवाद! –

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