Сохранение данных страницы при обновлении страницы
Я новичок в angular. Я использую сервис, который возвращает список объектов и отображает их на 1-й странице. Затем, основываясь на том, какой объект был нажат, я устанавливаю заголовок вкладки на следующей странице. Но пока я обновляю страницу, область списка теряется, а заголовок вкладки выдает исключение, в результате чего страница не отображает информацию. Есть ли способ сохранить информацию о том, какой объект был нажат на предыдущем экране, даже при обновлении 2nd Пейдж?
4 ответов
Если вы новичок в Angular и работаете над не критически важным проектом, дополнительный вызов удаленной службы-это не конец света.
есть ли способ сохранить информацию о том, какой объект был нажат на предыдущем экране, даже при обновлении 2-й страницы ?
вы используете маршрутизацию в своем приложении?
см. Пример: 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: '/'
});
});
при обновлении страницы сведений он помнит, что это состояние. Затем вы можете запросить данные службы.
У вас есть несколько приложений AngularJS? Теоретически у вас должен быть один HTML-файл и частичные / контроллеры, вы можете хранить данные, которые хотите использовать на заводе (singleton) или в кэше angularJS, если вы собираетесь перемещаться между несколькими HTML-страницами, вы можете использовать локальное хранилище или перезагрузить данные с сервера.
полезные ссылки:
$cache
https://docs.angularjs.org/api/ng/service/ $cacheFactory
местные хранение:
как хранить данные в локальном хранилище с помощью Angularjs?
лучшая практика для обработки такого рода сценариев заключается в сочетании угловой сервис + localstorage
- сервис поможет вам передавать данные между двумя страницами / контроллеры.
- и сохранение этих данных в localstorage поможет вам получите эти данные на странице refresh
и если данные - это только идентификатор в url, то ответ @Michal Stefanow также прекрасен.
помогает ссылка