2017-08-02 37 views
0

我在我的应用程序中使用角度ModalService作为对话框。当我想关闭对话框时,留下黑影。我的控制器:关闭对话框时留下的灰色阴影

angular.module("app") 
.controller('TreeController', ['$scope', 'asyncService', 'ModalService', 'dataService', 
    function ($scope, asyncService, ModalService, dataService) { 

     $scope.showJobModal = function (id) { 
      dataService.setCurrentJobId(id); 
      ModalService.showModal({ 
        templateUrl: 'modal.html', 
        controller: "ModalController", 
        preClose: function (modal) { 
         modal.element.modal('hide'); 
        } 
       } 
      ).then(function(modal) { 
       modal.element.modal(); 
       modal.close.then(function() { 
        console.log("closed job modal") 
       }); 
      }); 
     } 

    }]); 

angular.module('app').controller('ModalController', ['$scope', 'asyncService', 'dataService', 'ModalService', 'close', 
    function ($scope, asyncService, dataService, ModalService, close) { 
     asyncService.getJob(dataService.getCurrentJobId()).then(function (response) { 
      $scope.job = response; 
     }); 

     $scope.close = function() { 
      close(500); 
     }; 

    }]); 

当我点击对话框外,它关闭就好了。但是当我想要关闭$ scope.close时,留下了黑影。我试过这个:close modal release,但一切都是一样的。任何建议?

+0

转到为$ uibModalStack.dismissAll();.它可以帮助你 OR 可以使用$(“选择).modal( '隐藏');? – anu

+0

我应该放在哪里,在我的关闭功能 –

+0

是$ scope.close =函数(){ 。 $ uibModalStack.dismissAll();} 。 进样$ uibModalStack到控制器 – anu

回答

1
$scope.closeModal = function() { 
    $uibModalStack.dismissAll(); 
} 

进样$uibModalStack到控制器

+0

笑纳的答案,如果它帮助谢谢 – anu

+0

它帮助时,我有1种模式但在接近一个模式,我需要打开。第二个,那不起作用 –

+0

你可以在调用$ uibModalStack.dismissAll();作为$ uibModalStack.dismissAll();之后打开第二个模态;一次解除所有模态。 – anu

1

使用$ uibModal https://jsfiddle.net/awolf2904/74exww04/

Example: 
    $scope.dialogOpen = function() { 
     var modal = $uibModal.open ({ 
      backdrop: false, 
      templateUrl: './abc.html', 
      controller: function ($scope) { 
      $scope.close = function() { 
       modal.dismiss('cancel'); 
      }; 
      }; 
     }); 
    };