从控制器关闭 angular bootstrap 模态 window

Close angular bootstrap modal window from a controller

我的模态 window 中有一个联系表。 post 请求成功后,我想自动关闭 modal。我正在使用 MEAN.JS

这是我的控制器

angular.module('core').controller('FormCtrl',['$scope','$http', function($scope,$http) {

 $scope.postMail = function (data) {

    $http.post('/mail', data).
      success(function(data, status, headers, config) {
        alert('success');
        //close function....??
      }).

      error(function(data, status, headers, config) {

      });
 };

}]);//formController ends

如何在 $http.post 成功后关闭我的模式?

我有东西给你

使用:- $modalStack

然后调用$modalStack.dismissAll();

简单plunker

我在 plunkler 中使用了 $timeout 你可以在任何地方使用它,比如 $http :-)

Doc

对我来说,即使我将 $modal 和 $modalStack 作为依赖项注入,使用 $modalStack 也会出现注入错误。以下工作:

angular.element(document.querySelector('#modal')).modal('hide');

虽然简陋...

将模态设置为作用域上的变量,然后通过模板上的函数传递它并调用 modalVarName.dismiss();