我如何在会话存储中更新一个项目的单值?

问题描述 投票:0回答:1

我有一个 SessionStorage 项目集的值如下。

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

我想获取第一项的值 比如说把30的值改成40。

我在使用 sessionStorage.setItem 来改变这个值。谁能举个例子说明如何改变这个值。

javascript angular
1个回答
0
投票

你可以尝试下面的方法来存储、获取数据并进行更新

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"))

0
投票

一旦我们从sessionStorage中得到值,我们就需要将其转换为JSON,以便将其作为一个普通的对象使用。

试着做一些改变,就像下面。

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

sessionStorage.setItem('state-allRequestsandResponses',  JSON.stringify(modifiedValue));

希望能帮到你... :)

© www.soinside.com 2019 - 2024. All rights reserved.