Сохранение данных страницы при обновлении страницы

Я новичок в 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 также прекрасен.

помогает ссылка