Ionique annuler le bouton de retour dur remplacer

il y a des questions à propos de la suppression du bouton arrière physique Android dans Ionic, pour fournir un comportement personnalisé:

  • comportement du bouton arrière du contrôleur
  • "
  • Ionique: Comment remplacer bouton de retour de la fonction?

mais comment annulez-vous la commande pour restaurer le comportement par défaut?


j'ai essayé de changer la priorité du gestionnaire, dans l'espoir qu'un gestionnaire par défaut peut avoir une priorité plus élevée.

var customBackButton = function() {
    console.log("this is custom behaviour");
};
$ionicPlatform.registerBackButtonAction(
    customBackButton, 101
);
$scope.$on('$destroy', function() {
    $ionicPlatform.registerBackButtonAction(
        customBackButton, 0
    );
});

Cela ne fonctionne pas.


3
demandé sur Community 2015-08-27 12:11:58

1 réponses

solution ionique v1 (périmée)


selon le documents ioniques pour $ionicPlatform , le registerBackButtonAction() retourne:

une fonction qui, lorsqu'elle est appelée, va déréglementer cette action de backbut.

cela peut être vu dans le code pour registerBackButtonAction() :

  // return a function to de-register this back button action
  return function() {
    delete self.    [action.id];
  };

donc la bonne façon de faire Annuler / Annuler le comportement personnalisé est d'appeler cette fonction lorsque le contrôleur est détruit:

var customBackButton = function() {
    console.log("this is custom behaviour");
};

// registerBackButtonAction() returns a function which can be used to deregister it
var deregisterBackButtonAction = $ionicPlatform.registerBackButtonAction(
    customBackButton, 101
);

$scope.$on('$destroy', function() {
    deregisterBackButtonAction();
});

un exemple plus complet montrant comment modifier et restaurer les boutons dur et doux peut être trouvé ici:

2
répondu Richard Le Mesurier 2017-12-09 06:57:52