在会话存储中存储数组内容

use*_*431 6 session-storage angularjs

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

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

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

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

小智 10

如果您存储一系列项目,则非常容易。您可以使用 json stringify 存储数组:

sessionStorage.setItem('deletedItems', JSON.stringify(array))
Run Code Online (Sandbox Code Playgroud)

然后像这样检索它:

JSON.parse(sessionStorage.getItem('deletedItems'))
Run Code Online (Sandbox Code Playgroud)

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