Я новичок в angular. Я использую службу, которая получает список объектов и отображает их на первой странице. Затем, основываясь на том, какой объект был нажат, я устанавливаю заголовок вкладки на следующей странице. Но пока я обновляю страницу, область списка теряется, а заголовок табуляции бросает исключение, в результате чего страница не отображает информацию. Есть ли способ сохранить информацию о том, какой объект был нажат на предыдущем экране, даже при обновлении второй страницы?
Сохранять данные страницы при обновлении страницы
Ответ 1
Вы можете использовать локальное хранилище angular
Пример использования:
Ответ 2
Если вы новичок в Angular и работаете над проектом, не относящимся к миссии, дополнительный вызов удаленной службы - это не конец света.
Есть ли способ сохранить информацию о том, какой объект был нажат на предыдущем экране, даже при обновлении второй страницы?
Используете ли вы маршрутизацию в своем приложении?
См. пример: http://plnkr.co/edit/Svg4Po13hMq7WxzNwKDc?p=preview
Контроллеры
app.controller("main", function($scope) {
$scope.items = [1,2,3,4];
});
app.controller("detail", function($scope, $routeParams) {
$scope.myvalue = $routeParams.id;
});
Конфигурация маршрутизации
var app = angular.module("app", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'main',
controller: 'main'
})
.when('/detail/:id', {
templateUrl: 'detail',
controller: 'detail'
})
.otherwise({
redirectTo: '/'
});
});
Когда вы обновляете страницу с подробной информацией, она запоминает ее состояние. Затем вы можете запросить услугу для данных.
Ответ 3
У вас есть несколько приложений с угловыми приложениями? Теоретически у вас должен быть один HTML файл и частичные/контроллеры, вы можете хранить данные, которые хотите использовать в кеге factory (singleton) или angularJS, если вы собираетесь перемещаться между несколькими страницами HTML, вы можете использовать локальное хранилище или перезагрузить данные с сервера.
Некоторые полезные ссылки:
$кэш
https://docs.angularjs.org/api/ng/service/ $cacheFactory
Локальное хранилище:
Как хранить данные в локальном хранилище с помощью Angularjs?
Ответ 4
Лучшей практикой для обработки таких сценариев является сочетание angular службы + localstorage
- Служба поможет вам перенести данные между двумя страницами/ контроллеры.
- И сохранение этих данных в localstorage поможет вам получить эти данные на странице обновления
И если данные - это только идентификатор в URL-адресе, тогда ответ от @Michal Stefanow тоже прекрасен.
Ссылка на помощь