angularjsangular-ui-routerangular-cache

Angular default $http cache removes after route change


I am using Angular's default $http cache in one of my services. When the user navigates from a view to another one (I am using ui-router), the cache invalidates and all of the items will be removed from it. I want to not invalidate the cache in the whole lifetime of my application.

EDIT: For example, this factory does not return cached result after navigating to another route and it calls the server api to get the result:

cardModule.factory("myFactory", function ($http) {
    return {
        getAll: function () {
            return $http.get("all", { cache: true })
        }
    }
});

How to prevent default cache from removing items from itself after a route change?


Solution

  • I found the source of the problem. It was my own fault. I had a code somewhere that clears the cache after the state change. There is no problem with default angular $http cache.