Как подключить кнопку в $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');
     }
   });
Другие вопросы по тегам