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

    }]); 

私は外のダイアログをクリックすると、うまく閉じます。しかし、私はclose.shの後ろに黒い影が残っている$ scope.closeでそれをしたい。私はこれを試みた:close modal release、しかしすべては同じです。なにか提案を?お使いのコントローラに

+0

$ uibModalStack.dismissAllのために行く();.それはあなた、あなたが$( "セレクタ).modal( '隠す')を使用することができます OR 役立つかもしれない;? – anu

+0

はどこ私は近い機能ではそれを置くべき –

+0

はい$ scope.close =関数(){ ?。 $ uibModalStack.dismissAll(); };。。。 を注入$ uibModalStackあなたのコントローラにそれが助け場合 – anu

答えて

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

を注入$uibModalStack

+0

は親切に答えとして受け入れるには、私は1個のモーダルを持っているとき、それは助けしかし近い1つのモーダルで、私は開く必要が – anu

+0

ありがとう –

+0

$ uibModalStack.dismissAll();を呼び出して2回目のモーダルを開くと、一度にすべてのモーダルを終了します。 – 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'); 
      }; 
      }; 
     }); 
    }; 
関連する問題