【问题标题】:Get the value of differents attributes with localStorage.getItem()?使用 localStorage.getItem() 获取不同属性的值?
【发布时间】:2016-03-20 00:23:21
【问题描述】:

我正在尝试创建一个小应用程序,我需要存储一些数据。 我这样存储它们:

localStorage.setItem(taskID, taskTitle, taskTotal, taskActual, taskProgress);

taskIDtaskTitle 等是我从表单中得到的值)

所以这实际上效果很好,我只有一个问题: 我可以使用以下方法轻松检索taskID

for (i = 0; i < localStorage.length; i++) {
    var taskID = "task-" + i;
};

但我怎样才能检索其他值?比如如果我想检索taskActual 值,我怎样才能轻松做到这一点?

【问题讨论】:

    标签: javascript html local-storage data-retrieval


    【解决方案1】:

    在本地存储中,您正在保存一个键和一个值。在这种情况下,您的“键”是命名项目,即 TaskId、taskTitle 等。您需要有一个与键关联的相应值。例如:localStorage.setItem('taskId',1);在此示例中,如果您调用 localStorage.getItem('taskId'),结果将为 1,因为它是对应的值。

    【讨论】:

    • 好的,我在想我们可以为键添加更多的值。谢谢你的回答!
    【解决方案2】:

    这不是它的工作原理。您的代码在键 taskID 下设置值 taskTitle,其余参数被丢弃。那么您只能使用localStorage.getItem( taskID ) 检索taskTitle

    如果你想存储更多的属性,你需要存储多个项目,例如:

    var taskID = 'task-1';
    localStorage.setItem(taskID +'-title', taskTitle);
    localStorage.setItem(taskID +'-total', taskTotal);
    // etc
    // to retrieve:
    var title = localStorage.getItem('task-1-title');
    

    或存储一个序列化的 JSON:

    var taskId = 'task-1', taskData = { title : 'task title', total : 'task total' /* etc.. */ };
    // store
    localStorage.setItem(taskID, JSON.stringify( taskData ) );
    // retrieve
    var task = JSON.parse( localStorage.getItem('task-1') );
    // now you can use task.title, task.total etc
    

    【讨论】:

    • 感谢您的回复,我会试试的! :)
    • 您好,我有时间对我的代码进行更改,包括您展示的第一个代码,它运行良好!再次感谢你 ! :)
    猜你喜欢
    • 2011-10-23
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多