2016-07-04 10 views
2

角度コードでは、$ locationChangeStartが発生したときに検証するコードがあります。私はそれをキャンセルし、ブートストラップモーダルを表示するevent.preventDefault()を呼び出す必要があります。しかし、私はモーダルボタンを2回クリックして各ボタンアクションを有効にする必要があります。bootstrapモーダルボタンがevent.preventDefaultを使用してシングルクリックで起動しない

var skipModalInstanceCtrl = function ($scope, $uibModalInstance, $window) { 

$scope.continue = function() { 
    $uibModalInstance.close(); 
    $window.skipModal = true; 
}; 

$scope.cancel = function() { 
    $uibModalInstance.dismiss('cancel'); 
    $window.skipModal = false; 
}; 
}; 
app.controller('SkipModalInstance', skipModalInstanceCtrl); 

あなたの助け...

$scope.$on('$locationChangeStart', function (event, next, current) { 

    if (skipValidation.skipAllowed($scope.filteredQuestions[0])) { 
     //some code here 
    } 
    else { 

     event.preventDefault(); 

     skipValidation.openModal(); 
    } 
}); 

openModal()関数...

this.openModal = function (size, locationChange) { 

    var modalInstance = $uibModal.open({ 
     animation: true, 
     templateUrl: 'skipModalContent.html', 
     controller: 'SkipModalInstance', 
     size: size, 
     resolve: { 
     } 
    }); 

    modalInstance.result.then(function() { 
     //$log.info('continue'); 
    }, function() { 
    }); 
}; 

skipModalContent.html

<script type="text/ng-template" id="skipModalContent.html"> 
        <div class="modal-header"> 
         <h3 class="modal-title text-warning">Warnung!</h3> 
        </div> 
        <div class="modal-body"> 
         Frage ist erforderlich, zu beantworten. 
        </div> 
        <div class="modal-footer"> 
         <button class="btn btn-default" type="button" ng-click="continue()">mache trotzdem weiter</button> 
         <button class="btn btn-default" type="button" ng-click="cancel()">schließen</button> 
        </div> 
       </script> 

skipModalInstanceコントローラ:以下のコードであります非常に高く評価されています。

+0

"event.preventDefault();"を配置しようとしましたか? "skipValidation.openModal();"の後に? – Deborah

+0

はまだ同じ問題 –

答えて

1

私はついにこの問題を発見しました。 $ locationChangeStartは2回呼び出され、2つのモーダルが開かれました。

関連する問題