Запуск действия при возвращении в ionic framework

Есть два способа вернуться к предыдущему состоянию в мобильном устройстве с помощью ionic framework, который является via ion-nav-back-buttonи сама кнопка Назад устройства.

Какую функцию я должен вызвать, нужно ли мне запускать действие перед возвращением в предыдущее состояние при нажатии ion-nav-back-buttonи нажатии кнопки возврата устройства?

2 ответа

  1. Я думаю, что ниже должно предоставить решение, которое вы ищете

    Единственное, что я не уверен, если это решение будет работать 100% для аппаратной кнопки назад на всех устройствах….

                    // run this function when either hard or soft back button is pressed
                var doCustomBack = function() {
                // your custom handler code here
                .....
                    //});
    
                    $ionicHistory.goBack();
                };
    
                // override soft back
                // framework calls $rootScope.$ionicGoBack when soft back button is pressed
                var oldSoftBack = $rootScope.$ionicGoBack;
                $rootScope.$ionicGoBack = function() {
                    doCustomBack();
                };
                var deregisterSoftBack = function() {
                    $rootScope.$ionicGoBack = oldSoftBack;
                };
    
                // override hard back
                // registerBackButtonAction() returns a function which can be used to deregister it
                var deregisterHardBack = $ionicPlatform.registerBackButtonAction(
                    doCustomBack, 101
                );
    
                // cancel custom back behaviour
                $scope.$on('$destroy', function() {
                    deregisterHardBack();
                    deregisterSoftBack();
                });
    
  2. Попробовать это

     <ion-nav-back-button class="button-clear"
        ng-click="myGoBack()">
        <i class="ion-arrow-left-c"></i> Back
      </ion-nav-back-button>
    
    function MyCtrl($scope, $ionicHistory) {
      $scope.myGoBack = function() {
        $ionicHistory.goBack();
      };
    }