Remove page from history, so "back" will work properly

Tzook Bar Noy picture Tzook Bar Noy · Oct 18, 2014 · Viewed 28k times · Source

I have my app that you need to login to get in to the other pages.

so the first page is "login" and it checks if you are already logged, if so you will be redirected to the main page app, if not it will show you the login page.

now the problem is when the user is inside the logged page area, and he clicks back he will get to the "login" page and than redirected back to the main page, as he is logged in already.

So he is stuck in an infinite loop.

how can I remove the login page from the history.

just like in android "android remove activity from history stack"

Answer

Tzook Bar Noy picture Tzook Bar Noy · Oct 21, 2014

here is the solution!

simply use:

  $ionicHistory.nextViewOptions({
     disableBack: true
  });

example for login function:

$scope.login = function () {

Security.login($scope.cred.email, $scope.cred.password)
    .success(function(data) {
        Security.setUser(data.data[0]);
        $ionicHistory.nextViewOptions({
            disableBack: true
        });
        $state.go('posts', {}, {location: "replace", reload: true});
    }).error(function(data) {
        $scope.showAlert();
    });
};