【问题标题】:Storing array content in session storage [duplicate]在会话存储中存储数组内容[重复]
【发布时间】:2018-12-09 21:59:39
【问题描述】:

我有数据显示在表格中。我删除了一行,我需要隐藏它,直到该删除也暴露给后端(它只在一分钟后暴露)。 还有每 25 秒发生一次的自动刷新,这会带来陈旧的数据(仅在一分钟后,后端可以使用更新的数据)。

我决定使用 sessionStorage 来存储已删除的对象,然后每当有过时的数据出现时,我都会比较而不显示在表中。

但是 sessionStorage 不支持数组。因此,当用户删除一个对象,转到其他页面,返回并删除另一个对象(sessionStorage 变量被覆盖)然后刷新时,只有最后一个删除的对象被隐藏,所有其他已删除的对象都显示出来

我不确定如何在会话存储中存储已删除的对象。

【问题讨论】:

  • HTTP 也不支持对象。然而,您可以将对象发送到后端。如何?通过将它们序列化为 JSON。那么,你为什么不做同样的事情来存储你想在会话存储中存储的任何内容呢?

标签: angularjs session-storage


【解决方案1】:

如果您存储项目数组,这很容易。 您可以使用 json stringify 存储数组:

sessionStorage.setItem('deletedItems', JSON.stringify(array))

然后像这样检索它:

JSON.parse(sessionStorage.getItem('deletedItems'))

在存储下一个已删除的项目之前,您可以检索存储中以前的项目,将新项目推送到现有数组并将其存储回来

【讨论】:

  • 是的,我最终就是这样做的。创建了一个临时数组,并推入其中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多