force view to reload in ionic framework

I am new to mobile application development with ionic and wanted to know

I have a scenario where the login / logout buttons are located in the menu and a simple

On login and logout I need reload the page, inorder to refresh the data, however

$state.go('mainPage') takes the user back to the view without reload. the controller behind it is never invoked.

Is there a way to do clear history and reload the state in ionic ?

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!

The correct answer:

$window.location.reload(true);

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: http://stackoverflow.com/a/30224972/756177