item ionicframework icon framework docs ionic-framework ionic

ionic framework - ionicframework - Anulación iónica cancelación de botón DURO



ionic alert (1)

Solución Ionic v1 (desactualizada)

De acuerdo con los documentos de Ionic para $ionicPlatform , el registerBackButtonAction() devuelve:

Una función que, cuando se llame, cancelará el registro de esta BackButtonAction.

Esto se puede ver en el código de registerBackButtonAction() :

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

Entonces, la manera correcta de anular el registro / cancelar el comportamiento personalizado es llamar a esa función cuando se destruye el controlador:

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 ejemplo más completo que muestra cómo anular y restaurar los botones de hardware y software se puede encontrar aquí:

  • Iónico anula todo el comportamiento del botón BACK para un controlador específico

Hay preguntas sobre anular el botón físico BACK de Android en Ionic, para proporcionar un comportamiento personalizado:

¿Pero cómo cancelas la anulación para restablecer el comportamiento predeterminado?

He intentado cambiar la prioridad del controlador, con la esperanza de que un controlador predeterminado tenga una mayor prioridad.

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

Esto no funciona.