2015-05-27 28 views
1
$scope.open = function (size) { 

    var modalInstance = $modal.open({ 
     templateUrl: 'searchModalContent.html', 
     controller: 'ModalInstanceCtrl22', 
     size: size, 
     backdrop:'static', 
     resolve: { 
     items: function() { 
      return $scope.items; 
     } 
     } 
    }); 
    } 

我在我的控制器中将它称为$scope.open();。上述功能在控制器外部。我需要在3秒钟后自动关闭$scope.open()。我怎样才能做到这一点?如何使用计时器关闭模型窗口

+0

http://stackoverflow.com/questions/16127115/closing-popup-window-after-3-seconds – rogerdeuce

+0

你试图关闭它后,他们自己关闭,或者你的意思是打开后3秒? –

回答

2

您可以使用modalInstanceclosedismiss方法:close将解决模式的承诺,dismiss - 将拒绝:

$scope.open = function (size) { 

    var modalInstance = $modal.open({ 
     templateUrl: 'searchModalContent.html', 
     controller: 'ModalInstanceCtrl22', 
     size: size, 
     backdrop: 'static', 
     resolve: { 
      items: function() { 
       return $scope.items; 
      } 
     } 
    }); 

    setTimeout(function() { 
     modalInstance.close(); 
    }, 3000); 
} 

当然,你可以调用的setTimeout在ModalInstanceCtrl22控制器也只是注入$modalInstance服务在里面。

+0

我想现在吻你dfsg。上帝帮助你无处不在,你的愿望现在实现人类,我爱你。你刚刚救了我的工作。 –

+0

没问题,很高兴它帮助你:) – dfsq

+0

此外@SydneyBuildings,它的使用角度'$ timeout'(你不得不注入到控制器的好习惯。 –