2017-08-02 86 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'); 
      }; 
      }; 
     }); 
    };