Clear History and Reload Page on Login/Logout Using Ionic Framework
Solution 1:
Welcome to the framework! Actually the routing in Ionic is powered by ui-router. You should probably check out this previous SO question to find a couple of different ways to accomplish this.
If you just want to reload the state you can use:
$state.go($state.current, {}, {reload: true});
If you actually want to reload the page (as in, you want to re-bootstrap everything) then you can use:
$window.location.reload(true)
Good luck!
Solution 2:
I found that JimTheDev's answer only worked when the state definition had cache:false
set. With the view cached, you can do $ionicHistory.clearCache()
and then $state.go('app.fooDestinationView')
if you're navigating from one state to the one that is cached but needs refreshing.
See my answer here as it requires a simple change to Ionic and I created a pull request: https://stackoverflow.com/a/30224972/756177
Solution 3:
The correct answer:
$window.location.reload(true);
Solution 4:
I have found a solution which helped me to get it done. Setting cache-view="false"
on ion-view
tag resolved my problem.
<ion-view cache-view="false" view-title="My Title!">
....
</ion-view>
Solution 5:
Reload the page isn't the best approach.
you can handle state change events for reload data without reload the view itself.
read about ionicView life-cycle here:
http://blog.ionic.io/navigating-the-changes/
and handle the event beforeEnter for data reload.
$scope.$on('$ionicView.beforeEnter', function(){
// Any thing you can think of
});