#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()?