Как подключить кнопку в $ionicPopup к контроллеру, который ее вызывает?
Я знаю, что в идеале использование таблицы действий решит мою проблему, но я хочу знать, возможно ли подключить кнопку в ionicPopup к контроллеру, который вызывает ее через директиву ng-click. Первоначально я думал, что директива ng-click представит область видимости контроллера, но, похоже, это не так. Значит ли это, что мы не можем подключить кнопки к контроллеру в ionicPopup?
2 ответа
Я не могу понять ваш вопрос на 100%, но я думаю, вам нужна кнопка в пределах "$ ionicPopup", вызывающая функцию контроллера? если так, я оставляю это.
$ionicPopup.show({
title: 'Información View',
subTitle: '',
content: 'Content'
scope: $scope,
buttons: [{
text: 'Exit',
onTap: function(e) {
//Call function by pressing button exit
}
}, {
text: 'Ok',
type: 'button-positive',
onTap: function(e) {
//Call function by pressing button Ok
}
}, ]
})
}
$ ionicPopup возвращает обещания.
Допустим, у вашего представления есть кнопка, которая вызывает (ng-click) метод в вашем контроллере:
<button class="button button-primary" ng-click="showConfirm()">Confirm</button>
В вашем контроллере вы бы вызывали всплывающее окно, выполняя что-то вроде этого:
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Consume Ice Cream',
template: 'Are you sure you want to eat this ice cream?'
});
confirmPopup.then(function(res) {
if(res) {
console.log('You are sure');
} else {
console.log('You are not sure');
}
});
};
Когда пользователь нажал одну из 2 кнопок в диалоговом окне подтверждения, вы можете прочитать результат и сделать некоторые другие вещи.
confirmPopup.then(function(res) {
if(res) {
console.log('You are sure');
} else {
console.log('You are not sure');
}
});