如何在按下移动后退按钮时关闭离子弹出窗口

时间:2017-03-27 11:32:20

标签: javascript angularjs ionic-framework

我正在使用离子弹出窗口添加新项目但是如果我按下移动后退选项,离子弹出窗口没有关闭,弹出选项也会转到上一个屏幕。我尝试使用$ ionicPopUp.close()但它不起作用。

function showPopup () {
  $scope.data = {};
  var myPopup = $ionicPopup.show({
    template: '<input type="text" ng-model="data.expensetype">',
    title: 'Enter Expensetype',
    scope: $scope,
    buttons: [
     { text: 'Cancel' },
      {
        text: '<b>Save</b>',
        type: 'button-positive',
        onTap: function (e) {
          if (!$scope.data.expensetype) {
            //don't allow the user to close unless he enters producttype
            e.preventDefault();

          } else {
            addExpenseCategory();
            return $scope.data.expensetype;
          }
        }
      },
    ]
  });
  myPopup.then(function (res) {
    $log.log('Tapped!', res);
  });
}

任何人都可以告诉我如何在按下移动后退按钮时关闭离子弹出窗口。

2 个答案:

答案 0 :(得分:1)

您可以使用registerBackButtonAction方法,如下所示:

$ionicPlatform.registerBackButtonAction(function (event) {
myPopup.close();
});

答案 1 :(得分:0)

我通过使用registerBackButton Action

找到了它
$ionicPlatform.registerBackButtonAction(function () {
    myPopup.close();
, 101);

最后一个行号表示事件优先级:返回上一个视图= 100关闭侧菜单= 150关闭模式= 200关闭操作表= 300关闭弹出= 400关闭加载叠加= 500。