Вы должны хранить свои данные в localStorage (или cookieStorage, если localStorage недоступен) и управлять собственной политикой кэша. Затем проверьте свой контроллер, если данные доступны и не истекли, прежде чем показывать их. Я всегда использую сервис моих собственных, который идет как:
(function() {
var __service = function() {
var __set = function (key, item) { localStorage.setItem(key, JSON.stringify(item)); };
var __get = function (key) { return (localStorage.getItem(key) ? JSON.parse(localStorage.getItem(key)) : null); };
var __clear = function (key) { localStorage.removeItem(key); };
var __clearAll = function() { localStorage.clear(); };
return {
Set: __set,
Get: __get,
Clear: __clear,
ClearAll: __clearAll
};
};
angular.module('myApp').service('StorageService', __service);
}());
Тогда в моих контроллеров я ставлю эту услугу, чтобы работать для того, чтобы кэшировать информацию, которую я не хочу, чтобы получить каждый раз я получаю там.
PD: Я знаю, что я должен специализироваться на этом сервисе, чтобы проверить, доступен ли localStorage.
Почему вы не сохраняете свои данные в Хранилище данных браузера? и извлекать их при перезагрузке ng-view! – NrNazifi
Вы делаете запросы ajax с помощью $ http? –
Вы можете использовать сервис для извлечения ваших данных и кэшировать эти данные внутри службы. – jlowcs