Я хочу открыть ионную модальность, когда пользователь нажимает на кнопку Да, но близко ионную всплывающее окно, когда пользователь нажимает Нет кнопку. Как я могу это сделать?Огонь ionicModal на ionicPopup близко
В настоящий момент открывается ионное всплывающее окно в каждом случае. Вот мой код до сих пор:
services.js
function PopupService($ionicPopup) {
function acceptAppointmentPopup(scope) {
return $ionicPopup.show({
title: 'Are you sure you want to accept this appointment?',
scope: scope,
buttons: [{
text: '<b>Yes</b>',
type: 'button-positive',
onTap: function(e) {}
}, {
text: 'No',
onTap: function(e) {}
}, ]
})
}
return {
acceptAppointmentPopup: acceptAppointmentPopup
};
}
controller.js
function BusinessPendingAcceptanceCtrl($scope, PopupService, ModalService) {
$scope.newMessageModal = function() {
ModalService.show('templates/modals/new-message.html', 'ConsumerNotificationsCtrl as vm');
}
$scope.showAcceptAppointmentPopup = function() {
$scope.data = {}
var myPopup = PopupService.acceptAppointmentPopup($scope);
myPopup.then(function(res) {
$scope.newMessageModal();
});
};
}
Вы используете-услуги e неправильно, служба не должна иметь никакого взаимодействия с пользовательским интерфейсом с точки зрения дизайна. Это большой запах кода и иллюстрирует плохое понимание того, как должна выглядеть структура углов. Лучшее место для обработки всплывающих окон будет в контроллере, так как это связано с представлением. – t0mm13b
Я выполнял следующие инструкции: https://forum.ionicframework.com/t/ionicpopup-inside-a-factory/11787/4. Это лучше как завод? – methuselah
@methuselah Зачем вам нужен «завод» или «сервис» в этом случае? '$ IonicPopup' и' $ ionicModal' уже просты в использовании, зачем их завершать в службе? Если вы хотите повторно использовать свои модальные и всплывающие окна, я предлагаю вам установить их в '$ rootScope', которые будут доступны в вашем приложении. – Eric