Hide Bootstrap 3 Modal& AngularJS重定向($ location.path)

时间:2013-10-14 08:49:02

标签: javascript jquery twitter-bootstrap angularjs twitter-bootstrap-3

我在AngularJS App中使用bootstrap 3模式作为对话框确认。当我隐藏模态并重定向时,模态的背景仍然存在。

$scope.delete = function () {   
  DataService.delete()
    .then(function () {
      $("#delete").modal("hide");
      $location.path("/");
    });
}

我尝试在隐藏

上使用回调
$("#delete").on('hidden.bs.modal', function () { 
  $location.path("/");
}

但是延迟很多。

有更好的方法吗?

1 个答案:

答案 0 :(得分:10)

  

但是延迟很多。

您可能忘记致电$scope.$apply()。尝试将其更改为以下(如果延迟是唯一的问题),延迟应该是正常的:

$("#delete").on('hidden.bs.modal', function () {
    $location.path("/");
    $scope.$apply();
});

与Angular交互的Angular外部调用的所有代码(在本例中来自jQuery事件)都应该调用$apply()