Контроллер somePopupCtrl возвращает true, как только модальное окно открывается, а не после того, как модальное закрыто.
Вот код-
controller('somePopupCtrl', function ($scope, $rootScope) {
function delete() {
var retVal = true;
retVal = calculateRetCal();
if(retVal) {
var modalInstance = $modal.open({
templateUrl: 'removeData.html',
controller: 'removeDataPopupCtrl',
backdrop : 'static'
});
// want to return true for the delete() method when modal is closed.
modalInstance.result.then(function (data) {
return true;
});
} else {
return false;
}
return retVal;
}
}
Метод delete()
возвращает значение true или false и основано на том, что мы скрываем / показываем в интерфейсе пользователя.
Однако пользовательский интерфейс hiding/showing
мгновенно появляется при открытии модального режима, а не после закрытия модального. Так что modalInstance.result.then
код не вступает в силу.
Может ли это произойти из-за того, что modalInstance.result.then
является асинхронным вызовом?
Как вернуться из метода только при закрытом модале?