2016-10-26 34 views
0

我已实施一项服务。我正在创建两个对象。 刷新后,其值变为空。需要存储对象,以便刷新时,对象应该在angularJS中可用?

我应该如何存储这些对象,以便我可以在刷新后访问它们。

var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(xyz); 
var cognitoUser = AWSCognito.authenticate(userpool); 

这是在服务中实现的,所以它只会运行一次。 现在我需要存储这些对象,这样即使刷新后我也可以访问它们。

+0

当你说刷新,你的意思是页面刷新?你是否使用网络浏览器作为客户端? – aliasav

+0

你需要用户localstorage:https://www.npmjs.com/package/angular-local-storage – aliasav

+0

@aliasav:是的,网络浏览器 –

回答

0

使用JavaScript的localStorage:

localStorage.setItem("userPool", userPool); 
localStorage.setItem("cognitoUser", cognitoUser); 


localStorage.getItem("userPool"); 
localStorage.getItem("cognitoUser"); 

你也可以使用角的localStorage库,具有更灵活的API。

Angular LocalStorage

+0

除了localstorage和sessionStorage和Web数据库以外,还有其他方法吗? –

+0

我觉得这很漂亮。这三者都有相同的想法(将数据保存在浏览器中),您的其他选项当然是您的数据库。 – Tal

0

您有几种选择:

  1. 存储在数据库中,每个应用程序加载,第一次(如在刷新后)从数据库中读取一次数据的时间。在localstorage
  2. 商店,并在应用程序启动
  3. IndexDB读它 - 内部浏览器数据库(请注意support metrics
0

最好的选择是使用角度本地存储。 https://github.com/grevory/angular-local-storage/

+0

嗨湿婆,欢迎来到StackOverflow!鼓励与外部资源的链接,但请在链接上添加上下文,以便您的同行用户了解它是什么以及它为什么在那里。如果目标网站无法访问或永久离线,请始终引用重要链接中最相关的部分。 –

相关问题