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:
- Iónico anula todo el comportamiento del botón BACK para un controlador específico
- Ionic: ¿Cómo anular la función de botón hacia atrás?
¿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.