$modalStack не закрывает модальный при нажатии кнопки назад

#angularjs #angular-ui #bootstrap-modal

#angularjs #angular-пользовательский интерфейс #bootstrap-модальный

Вопрос:

Я использую модальный загрузчик AngularUI, который открывается с моего контроллера, как показано ниже:

 $scope.openModal = $modal({
            title: title,
            scope: $scope,
            templateUrl: modalUrl,
            html: true,
            show: false,
            backdrop: 'static'
        });

$scope.openModal.$promise.then($scope.openModal.show);
  

Я пытаюсь закрыть свой модальный при нажатии кнопки «Назад» в браузере, следуя коду в app.js:

 app.run(['$rootScope', '$modalStack', function ($rootScope, $modalStack) {
   $rootScope.$on('$locationChangeStart', function (event) {
       var top = $modalStack.getTop();
       if (top) {
           $modalStack.dismiss(top.key);
       }
   });
}]);
  

Но в приведенном выше коде $modalStack.getTop() всегда возвращается, как undefined будто мой модальный остается открытым.

Я также пробовал использовать $rootScope для открытия модального. Но все равно это не работает.

Комментарии:

1. $modalStack.dismissAll(); // это отклонит все открытые модальности при изменении маршрута

2. Но сам $modalStack возвращает undefined. Как будет работать dismissAll()?