2015-06-29 2 views
0

У меня есть bootstrap modal, который я хочу закрыть, когда все значения загружены. Ниже приводится код открытие модального -автоматическое закрытие bootstrap modal

function open(){ 
    console.log("open modal"); 
    var modalInstance = $modal.open({ 
     animation: true, 
     templateUrl: 'views/view1.html', 
     scope: $scope, 
    }); 
}; 

view1.html

<div class="modal-header"> 
    </div> 
    <div class="modal-body"> 
    <div> 
     <progressbar class="progress-striped active" max="100" type='success' value="progress"></progressbar> 
    </div> 
    </div> 

Я хочу, чтобы закрыть модальную когда значение области видимости переменного прогресса становится 100, как я могу идти об этом?

+0

Я редактировал свой пост с скрипкой, которая должна вести вас вперед. – Fissio

ответ

3

Код контроллер

... 
function open(){ 
    console.log("open modal"); 
    var modalInstance = $modal.open({ 
     animation: true, 
     controller: 'modalController' 
     templateUrl: 'views/view1.html', 
     scope: $scope, 
    }); 
}) // End of the actual page controller 
.controller('modalController', function($scope, $modalInstance, $interval, $timeout) { 
    $scope.progress = $scope.$parent.progress; 
    $interval(function() { if ($scope.progress < 100) $scope.progress += 1 }, 50); 
    $scope.$watch(function() {return $scope.progress}, function() { 
     if ($scope.progress >= 100) { 
      $timeout(function() { 
       $modalInstance.close(); 
      }, 1000) 
     } 
    }) 
}) 

Точных ситуации твои:

.controller('modalController', function($scope, $modalInstance, $timeout) { 
    $scope.$watch(function() {return $scope.$parent.progress}, function() { 
     if ($scope.$parent.progress >= 100) { 
      $timeout(function() { 
       $modalInstance.close(); 
      }, 1000) 
     } 
    }) 
}) 

Работа скрипка здесь, http://jsfiddle.net/n0fbo3t3/

+0

Прогресс переменной области изменяется в первом контроллере, и я хочу поместить часы на обновленные значения прогресса. Над кодом производится копирование переменной прогресса и ее изменение во втором контроллере. –

+0

Yeh, я просто хотел смоделировать ситуацию в плункер. В вашей ситуации вам понадобится $ watch $ scope. $ Parent.progress. Я отредактировал свое сообщение соответственно. – Fissio

+0

@ user2851669, вы получили его? – Fissio

Смежные вопросы