Hi I have an issue with ionic login and logout.
Each time after logout, i can still click the back button and it will bring me back to my previous page. may i know h
This is because ionic
is caching the view, So that will stop ionic going through the controller.
So you could bust the cache as follows
<ion-view cache-view="false" view-title="My Title!">
...
</ion-view>
read here for more
I would do something like this:
$scope.logout = function(){
$ionicLoading.show({template:'Logging out....'});
$localstorage.set('loggin_state', '');
$timeout(function () {
$ionicLoading.hide();
$ionicHistory.clearCache();
$ionicHistory.clearHistory();
$ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
$state.go('login');
}, 30);
};
I've found out that adding a little delay allow $ionicHistory
to clear the cache.
$ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
$ionicHistory.clearCache()
now returns promise so you can ensure cache is cleared. So you can call like this:
$ionicHistory.clearCache().then(function() {
//now you can clear history or goto another state if you need
$ionicHistory.clearHistory();
$ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
$state.go('login');
})
There is no need for the above timeout like things.
credit goes to