Серая тень остается позади при закрытии диалога
Я использую угловой ModalService для диалога в моем приложении. Когда я хочу закрыть диалог, черная тень осталась позади. Мои контроллеры:
angular.module("app")
.controller('TreeController', ['$scope', 'asyncService', 'ModalService', 'dataService',
function ($scope, asyncService, ModalService, dataService) {
$scope.showJobModal = function (id) {
dataService.setCurrentJobId(id);
ModalService.showModal({
templateUrl: 'modal.html',
controller: "ModalController",
preClose: function (modal) {
modal.element.modal('hide');
}
}
).then(function(modal) {
modal.element.modal();
modal.close.then(function() {
console.log("closed job modal")
});
});
}
}]);
angular.module('app').controller('ModalController', ['$scope', 'asyncService', 'dataService', 'ModalService', 'close',
function ($scope, asyncService, dataService, ModalService, close) {
asyncService.getJob(dataService.getCurrentJobId()).then(function (response) {
$scope.job = response;
});
$scope.close = function() {
close(500);
};
}]);
Когда я нажимаю за пределами диалога, он просто закрывается. Но когда я хочу закрыть его на $scope.close, черная тень осталась позади. Я попробовал это: закрыть модальный релиз, но все то же самое. Любое предложение?
2 ответа
Используйте $ uibModal https://jsfiddle.net/awolf2904/74exww04/
Example:
$scope.dialogOpen = function () {
var modal = $uibModal.open ({
backdrop: false,
templateUrl: './abc.html',
controller: function ($scope) {
$scope.close = function () {
modal.dismiss('cancel');
};
};
});
};
$scope.closeModal = function () {
$uibModalStack.dismissAll();
}
впрыскивать $uibModalStack
к вашему контроллеру