【问题标题】:how do I update a single value of an item in session storage如何更新会话存储中项目的单个值
【发布时间】:2020-06-11 17:08:55
【问题描述】:

我有一个具有以下值的 SessionStorage 项目集:

    key : state-allRequestsandResponses
    value : "{"first":30,"rows":10,"sortField":"isWorkComplete","sortOrder":1}"

例如,我想获取 first 的值并将 30 的值更改为 40。

我在使用 sessionStorage.setItem 更改此值时遇到了很大的困难。谁能举例说明如何更改此值。

【问题讨论】:

  • 您需要获取整个字符串然后将其写回。

标签: javascript angular session-storage


【解决方案1】:

您可以尝试以下方法来存储、获取数据和更新

let data = {"first":30,"rows":10,"sortField":"isWorkComplete","sortOrder":1}

//storing the data for the first time
sessionStorage.setItem("state-allRequestsandResponses", JSON.stringify(data));

为了更新sessionStorage中的数据,获取对象并将其解析为json对象,因为sessionStorage会将数据存储为字符串。

//Get the object and parse it
data = JSON.parse(sessionStorage.getItem("state-allRequestsandResponses"))
data.first = 40;

sessionStorage.setItem("state-allRequestsandResponses", JSON.stringify(data));

//Verify whether the data updated in sessionStorage
console.log(sessionStorage.getItem("state-allRequestsandResponses"))

【讨论】:

    【解决方案2】:

    从 sessionStorage 中获取值后,我们需要将其转换为 JSON 以便将其用作普通对象。

    尝试做一些改变,如下所示..

    const modifiedValue =  JSON.parse(sessionStorage.getItem('state-allRequestsandResponses'));
    modifiedValue.first(40);
    
    sessionStorage.setItem('state-allRequestsandResponses',  JSON.stringify(modifiedValue));
    

    希望这会有所帮助.. :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      相关资源
      最近更新 更多