2013-06-13 5 views
7

मैं fuelUX Wizard और कोणीय का उपयोग कर रहा हूं। मैं इस नियंत्रक विधि पर अगले बटन सक्षम या अक्षम आधारित करना चाहते हैं:angularjs में ng-disabled पर चेक कैसे करें?

$scope.canMoveForward = function(){ 
     switch($("#moduleWizard").wizard("selectedItem").step){ 
      case 1: 
      //check if the module on the first step is valid*/ 
       return $scope.validSelection && $scope.linkedPredicateForm.$valid; 

      case 2: 
      //check if the table is empty 
       return !linkingDataSource.isEmpty(); 

      case 3: 
       var enab= ($scope.saveModeForm.$valid && $scope.newSourceForm.$valid) || 
       ($scope.saveModeForm.$valid && $scope.appendSourceForm.$valid) 
     } 
    }; 

तो वास्तव में यह कैसे मैं बटन decleared है:

<div class="actions"> 
       <button class="btn btn-mini btn-prev" ng-click="refresh()"> <i class="icon-arrow-left"></i>Prev</button> 
       <button class="btn btn-mini btn-next" data-last="Finish" id="wizard-next" ng-disabled="!canMoveForward()" 
         ng-click="handleStepResult()"> 
        Next<i class="icon-arrow-right"></i></button> 
      </div> 

और यह ठीक काम करता है, जब मैं मिल को छोड़कर दूसरे पृष्ठ से पहले पृष्ठ पर वापस: यदि अगला पृष्ठ दूसरे पृष्ठ में अक्षम है तो यह पहले पृष्ठ पर भी होगा, जब तक कि मैं वहां फॉर्म संपादित नहीं करता। क्या एनजी-अक्षम बाध्यकारी को रीफ्रेश करने के लिए वैसे भी है?

उत्तर

13

मुझे लगता है कि AngularJS यह जांच नहीं सकता कि canMoveForward() का आउटपुट बदल गया है या नहीं। मैंने पाया कि इस तरह की चीजों के लिए स्कोप चर पर भरोसा करना आसान है। संपत्ति सही/गलत करने के लिए आवश्यकतानुसार

ng-disabled="!canMoveForward" 

फिर अपने नियंत्रक में सिर्फ सेट:: आप कुछ इस तरह कर सकता है

$scope.canMoveForward = false; 
+0

बहुत एक चर true.Setting चर करने के लिए फ़ंक्शन को कॉल करें और सच है या कि समारोह से अवास्तविक लौटाते smoothly.Just काम करता है +। 1 – jayadevkv

2

मैं एक ही समस्या पड़ा है और मैं समस्या यह है कि खोज की है ! ऑपरेटर के साथ है।

यह विफल रहता है:

ng-disabled="!canMoveForward()" 

लेकिन यह काम करेगा:

ng-disabled="canNotMoveForward()" 
+0

के लिए यह स्टैंडअलोन फ़ंक्शंस के साथ काम करता प्रतीत होता है, लेकिन विधियों के साथ नहीं। – savenkov

+0

मुझे उचित सीएसएस स्टाइल के साथ प्रस्तुत करने के लिए जादूगर नहीं मिल सकता है। मैं AngularJS का भी उपयोग कर रहा हूं। क्या आप उचित सीएसएस और जेएस फाइलों को लोड करने में मेरी मदद कर सकते हैं? और जादूगर को कैसे प्रस्तुत करना है? धन्यवाद। –

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