3

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

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

我尝试使用隐藏的回调

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

但是这方面的延迟很多。

有一个更好的方法吗?

4

1 回答 1

11

但是这方面的延迟很多。

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

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

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

于 2013-10-14T10:03:42.623 回答