我在AngularJS App中使用bootstrap 3模式作为对话框确认。当我隐藏模态并重定向时,模态的背景仍然存在。
$scope.delete = function () {
DataService.delete()
.then(function () {
$("#delete").modal("hide");
$location.path("/");
});
}
我尝试在隐藏
上使用回调$("#delete").on('hidden.bs.modal', function () {
$location.path("/");
}
但是延迟很多。
有更好的方法吗?
答案 0 :(得分:10)
但是延迟很多。
您可能忘记致电$scope.$apply()
。尝试将其更改为以下(如果延迟是唯一的问题),延迟应该是正常的:
$("#delete").on('hidden.bs.modal', function () {
$location.path("/");
$scope.$apply();
});
与Angular交互的Angular外部调用的所有代码(在本例中来自jQuery事件)都应该调用$apply()
。