刷新后如何防止被删除表单服务?

时间:2017-09-07 14:05:38

标签: angularjs session-storage

我在角色中的服务中使用$sessionStorage来存储日期并在另一个页面中获取它。 (我正在使用SPA)。

我可以在页面内完美地获取数据,但是当我刷新页面时,服务中的数据将被删除。

为什么angular会删除服务中的数据?我应该怎么做才能做到 刷新页面之后呢?

谢谢。

2 个答案:

答案 0 :(得分:1)

基本上刷新页面时,角度重新加载,服务重新加载,所有数据都丢失,这是JavaScript内容的正常行为。

这就像你从头开始。您需要的是一种在重新加载时保留数据的方法,您可以使用本地存储等方法来保存和检索数据。

看看这个例子:

Storing Objects in HTML5 localStorage

答案 1 :(得分:0)

COOKIES SOLUTION

  

使用cookie不是一个“广泛”的解决方案,它可以解决你的问题   没有服务器或数据库的问题。

     

请注意,如果用户清空临时互联网文件,数据将被删除,或者如果cookie不是永久性的,则数据将在完成日期到期时被删除

首先,您需要将ngCookies导入角度应用

bower install angular-cookies --save

之后,请记住导入角度cookie脚本:

<script src="path/to/angular.js"></script>
<script src="path/to/angular-cookies.js"></script>

并添加依赖项:

angular.module('app', ['ngCookies']);

之后,您将能够从angular调用ngCookies方法,然后存储并恢复存储在cookie中的数据:

angularJS API上的示例:

angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
  // Retrieving a cookie
  var favoriteCookie = $cookies.get('myFavorite');
  // Setting a cookie
  $cookies.put('myFavorite', 'oatmeal');
}]);

希望它有所帮助。

  

无论如何,IMO,安装带有DB的服务器端应该是正确的   解决方案,如果你真的想保存用户的信息。

相关问题