Javascript 如何使用计时器关闭模型窗口

Javascript 如何使用计时器关闭模型窗口,javascript,html,angularjs,Javascript,Html,Angularjs,我把它叫做$scope.open()在我的控制器中。上述功能在控制器外部。我需要在3秒钟后自动关闭$scope.open()。如何执行此操作?您可以使用关闭或解除方法:关闭将解决模式承诺,而解除将拒绝它: $scope.open = function (size) { var modalInstance = $modal.open({ templateUrl: 'searchModalContent.html', controller: 'ModalInstan

我把它叫做
$scope.open()在我的控制器中。上述功能在控制器外部。我需要在3秒钟后自动关闭
$scope.open()
。如何执行此操作?

您可以使用
关闭
解除
方法:
关闭
将解决模式承诺,而
解除
将拒绝它:

$scope.open = function (size) {

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

当然,你也可以在
ModalInstanceCtrl22
控制器中调用setTimeout,只需在其中注入
$modalInstance
服务。

你是想在他们自己关闭ti后关闭它,还是说它打开后3秒?我现在想吻你。上帝保佑你,你的愿望马上实现,我爱你。你刚刚保住了我的工作。没问题,很高兴它帮了你:)还有@SydneyBuildings,使用角度
$timeout
(您必须将其注入控制器中。@在这种情况下,这是不必要的。我认为,在这样的情况下,在不需要启动新摘要的情况下,最好使用
setTimeout
。@dfsq非常正确!您是对的,为什么要在这里浪费摘要的处理能力。那就不用担心了:)
$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);
}