$ionicHistory and caching pages


#1

If I have all my views cached in the default way, how can I force a refresh of the data in scope variables every time a view is entered?

Or is the whole point that you would disable caching in that situation?


#2

You should use this event:
$scope.$on('$ionicView.beforeEnter', function(){ updateMyScopeVariables(); });

This event is triggered every time you access the cached view.


#3

And in updateVariables() do I need to manually call every update that I want?

Is there not something built in that refreshes all variables?

I tried $scope.$on(’$ionicView.enter’, function(){ $scope.$apply(); }) and thought that would work but it didnt


#4

updateMyScopeVariables() would typically operate an ajax request in order to refresh the list, like a pull-to-refresh would do.


#5

I’m very confused by this.

An example in my controller is $scope.activeUser = accountService.users.get.activeUser() which works fine on first loads.

Then I would have thought $scope.$on('$ionicView.beforeEnter', function(){ $scope.activeUser = accountService.users.get.activeUser(); }) would work, no?


#6

Yes it should work completely.


#7

Okay…

I wrapped the whole contents of my controller in $scope.$on('$ionicView.beforeEnter', function(){ })

the $scope variables are updated in the code, however they dont seem to have bound to the page?

Also, I have a directive inside the view which is not being updated because of the caching