2013-06-13 9 views
7

fuelUX Wizard ve Angularjs kullanıyorum. Bu Düğmeleri decleared nasıl Yani aslındaAngularjs'de ng-disabled nasıl kontrol edilir?

$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) 
     } 
    }; 

: Bu kontrolör yöntemine etkinleştirilmesi yanındaki düğmeyi veya devre dışı dayandırarak istiyorum

<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> 

Ve ben aldığımda dışında çalışıyor ikinci sayfadan ilk sayfaya geri dönülür: ikinci sayfada bir sonraki düğme devre dışı bırakılırsa, formu burada düzenlemediğim sürece ilk sayfada bile bu şekilde olacaktır. Ng-disabled bağlayıcısını yenilemek için zaten var mı?

cevap

13

AngularJS, canMoveForward() çıktısının değişip değişmediğini kontrol edemiyor. Bu tür şeyler için, kapsam değişkenlerine güvenmenin daha kolay olduğunu buldum. Böyle bir şey yapabileceğini:

ng-disabled="!canMoveForward" 

Sonra denetleyicisi sadece set özelliği doğru/yanlış için gerektiğinde:

$scope.canMoveForward = false; 
+0

çok bir değişken true.Setting değişkene işlevi çağırmak ve doğru veya bu işlevinden return false smoothly.Just çalışır +. Bu – jayadevkv

2

ben aynı problem vardı ve ben sorun olduğunu keşfettim ! operatörüyle.

ng-disabled="!canMoveForward()" 

Ama bu çalışacaktır:

Bu başarısız

ng-disabled="canNotMoveForward()" 
+0

için 1 Bu bağımsız işlevlerle çalışır, ancak yöntemlerle değil gibi görünüyor. – savenkov

+0

Sihirbazın uygun css stiliyle işlenmesini sağlayamıyorum. Ben de AngularJS kullanıyorum. Uygun css ve js dosyalarını yüklemede bana yardımcı olabilir misiniz? Ayrıca sihirbaz nasıl oluşturulur? teşekkürler. –

İlgili konular