2015-09-17 24 views
1

Я работаю в AngularJS с использованием Spring rest как бэкэнд. Я довольно новичок в angularjs.Сохранять данные о обновлении браузера в AngularJS

У меня есть страница пользовательского интерфейса, где я отображаю список объектов в таблице. Существует кнопка редактирования для каждой записи. Когда я нажимаю кнопку «Редактировать», открывается другая страница, которая устанавливает соответствующие данные.

Проблема, находясь на странице редактирования, если я refresh the browser, я потерял свои данные. Один из способов, я могу думать, это сделать еще один звонок rest, но я хочу, чтобы не было никакого вызова для отдыха.

Есть ли способ сохранить данные на странице при обновлении или сделать вызов для отдыха лучшим решением?

+0

Если данные, которые вы хотите сохранить, относительно просты (например, id), вы можете попробовать сохранить его в URL-адресе, используя [$ location.search] (https: // docs. angularjs.org/api/ng/service/$location) – tcooc

+0

не только id, есть целый объект, который должен быть отображен на странице – Anand

ответ

1

Я думаю, что самый чистый способ сделать это - сделать вызов REST, поскольку данные могли быть изменены на сервере. Однако, если вы хотите избежать вызова в любом случае, вы можете использовать localstorage. Просто сохраните данные в своей таблице в локальном хранилище с парами значений ключа (присвойте уникальный ключ каждой строке). Вы можете использовать этот плагин: Angular LocalStorage

+0

Спасибо !! .. но почему сделать вызов REST будет самым чистым способом? Предположим, что перед редактированием меня имеет значение «x» на странице, и когда я обновляю страницу, из-за повторного вызова REST это может стать «y», поскольку другой пользователь мог бы обновить значение. Таким образом, это может смутить пользователя ... Имеет ли смысл? – Anand

+0

Вы имеете в виду, что значение y было отредактировано пользователем на x? В таком случае пользователь, возможно, хочет получить последнее значение от сервера и, следовательно, нажимает обновление? Если значение было изменено с x на y кем-то другим на другом клиенте, не лучше ли показывать пользователю значение, отличное от устаревших? – Aneesh

+0

, но только на экране только для чтения, т.е. до щелчка правой кнопкой мыши. Пользователь увидел значение x, и он решил изменить значение на y, поэтому он щелкнул править и перешел на редактирование экрана ... там он изменил значение с x на y, но раньше он мог бы представить, он обновляет браузер ... между тем как другой пользователь обновил значение до y, он будет смущен, как это стало, хотя он не обновил его. – Anand

Смежные вопросы