【问题标题】:Close angular bootstrap modal window from a controller从控制器关闭角度引导模式窗口
【发布时间】:2015-04-14 09:49:12
【问题描述】:

我的模态窗口中有一个联系表格。成功发布请求后,我想自动关闭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 成功后如何关闭我的模式?

【问题讨论】:

  • 请阅读您链接到的文档。它清楚地描述了如何关闭一个模态,甚至提供了一个例子
  • 嘿,但它没有提供如何在控制器中关闭模式:-P @rmuller
  • 嗯?在那个javascript中的控制器内显然有一个close方法
  • 我试过 $modalInstance.dismiss('cancel'); 但它说 .dismiss in undefined。
  • 那个 close 方法在 $modalInstance 的控制器中,而不是在创建模态的主控制器中:-P

标签: angularjs angularjs-directive angular-ui bootstrap-modal meanjs


【解决方案1】:

尽管它很粗糙......

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

【讨论】:

  • 感谢您的回答。添加一个代码sn-p来说明它会很有好处。
【解决方案2】:

对我来说,使用 $modalStack 给了我注入错误,即使我注入了 $modal 和 $modalStack 作为依赖项。以下工作:

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

【讨论】:

    【解决方案3】:

    我有东西给你

    使用:-$modalStack

    然后拨打$modalStack.dismissAll();

    简单plunker

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

    Doc

    【讨论】:

    • 工作顺利... :)
    • 非常喜欢模态;:-)
    猜你喜欢
    • 2017-02-04
    • 1970-01-01
    • 2014-01-09
    • 2013-03-02
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多