John
John

Reputation: 2163

angularjs $modal close modal

Im trying to make an angularjs Modal service. I have an controller that opens some modal, in that modal i call original controller functions or access some variables, this part i can make it already. I just cant close modal without clicking cancel or ok buttons, o want to make some operations in the modal, call some werbservices and the close modal manually. Can anyone help me?

I made an working plunker here: plunker

var modalInstance = $modal.open({
              templateUrl: 'myModalContent2.html',
              controller: ModalInstanceCtrl,
              size: size,
              scope: $scope

            });

Upvotes: 11

Views: 93214

Answers (2)

barış çıracı
barış çıracı

Reputation: 1043

$scope.myData='all data can be';
$scope.myModalInstance = $modal.open({
    templateUrl: 'app/myOpen.html',
    controller: 'myOpenController',
    size: 'lg', //modal open size large
    backdrop: 'static',
    keyboard: false,
    resolve: {
        myData: function () {
            return $scope.myData;
            }
        }
    });
$scope.modalClose = function (){
   $scope.myModalInstance.close();
}

Upvotes: 3

Benjamin Conant
Benjamin Conant

Reputation: 1734

To close a $modal that you have opened you can follow these steps.

1) Inject $modalInstance into the controller that you specified when you created the modal. In your case you called it ModalInstanceCtrl.

2) Have a function in your ModalInstanceCtrl that calls .close() on $modalInstance.

your ModalInstanceCtrl should look something like this

angular.module('myCoolApp')
  .controller('ModalInstanceCtrl', function ($scope, $modalInstance) {

    $scope.closeModal = function(){
       $modalInstance.close();
    }

});

Upvotes: 24

Related Questions