:模式
<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请求时打开现在我想在收到服务器的响应后动态关闭这个模态。
答案 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();它关闭了所有打开的模态。