Jak wykonać sprawdzenie ng-disabled w angularjs?
UżywamKreator paliwa i Angularjs. Chciałbym, aby następny przycisk był włączony lub wyłączony w oparciu o tę metodę kontrolera:
$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)
}
};
W ten sposób właśnie zdeklasowałem przyciski:
<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>
I działa dobrze, chyba że wrócę z drugiej strony na pierwszą: jeśli następny przycisk jest wyłączony na drugiej stronie, będzie tak nawet na pierwszej stronie, chyba że nie edytuję tam formularza. Czy mimo to odświeżyć powiązanie ng-disabled?