使用jquery,如何动态关闭弹出模式(ui-bootstrap)而不在Angularjs中单击事件

时间:2015-11-27 07:11:35

标签: angularjs

:模式

<script type="text/ng-template" id="create.html">
<div ng-controller="CreateCampaignCtrl" id="createModal">
    <div class="modal-header">
       heading
    </div>
    <div class="modal-body">
       ----
    </div>
    <div class="modal-footer">
        <button type="button" class="btn btn-white" ng-click="cancel()">Close</button>
        <button type="button" class="btn btn-primary" ng-click="submit_form()"><i class="fa fa-plus"></i>create method</button>
    </div>
</div>

:控制器

function CreateCampaignCtrl($scope, $http){       
$scope.submit_form = function(){
        $http({
            url: url,
            data: {},
            method: "POST",
            headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
        }).success(function(data){
                $('#createModal').modal('hide');
                alert(data);
        }).error(function(err) { alert('ERROR err');})
    }
};

};

上面的模态是在点击按钮时打开ajax请求时打开现在我想在收到服务器的响应后动态关闭这个模态。

2 个答案:

答案 0 :(得分:0)

编辑:

好吧废弃我的第一个想法。它真的很简单

modalInstance.close()

我刚创建了一个2秒的超时来模拟你的承诺。

$timeout(function(){modalInstance.close();},2000);

plunker here

答案 1 :(得分:0)

最后我得到了关闭angularjs中的UI-Bootstrap POP-UP模式的解决方案:

function getRetiredData($scope, $http, $modalStack){
    $http({
        url : base_url,
        data : {},
        method : "POST",
        headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
    }).success(function(data){
        $modalStack.dismissAll();
    }).error(function(err){
        alert(err);
    });
};

};

在控制器中注入$ modalStack并调用函数,如$ modalStack.dismissAll();它关闭了所有打开的模态。