Подтвердить что ты не робот

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

Я новичок в angular. Я использую службу, которая получает список объектов и отображает их на первой странице. Затем, основываясь на том, какой объект был нажат, я устанавливаю заголовок вкладки на следующей странице. Но пока я обновляю страницу, область списка теряется, а заголовок табуляции бросает исключение, в результате чего страница не отображает информацию. Есть ли способ сохранить информацию о том, какой объект был нажат на предыдущем экране, даже при обновлении второй страницы?

4b9b3361

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

Ссылка на помощь