2015-12-14 42 views
2

我想創建一個小應用程序,我需要存儲一些數據。 我將它們存儲這樣的:使用localStorage.getItem()獲取differents屬性的值?

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

(在taskIDtaskTitle等。是我從表單中獲取值)

所以實際上效果很好,而我只有一個問題: 我可以輕鬆檢索taskID使用:

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

,但我怎麼能檢索其他值?就像我想要檢索taskActual價值一樣,我怎麼能輕鬆做到這一點?

回答

1

這不是它的工作原理。您的代碼在密鑰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 
+0

謝謝你的迴應,我會盡力的! :) – albec

+1

你好, 我有時間在我的代碼中進行更改,包括你顯示的第一個代碼,它工作的很好! 再次感謝您! :) – albec

0

在本地存儲你一鍵節能和一個值。在這種情況下,你的'鍵'是指定的項目,例如TaskId,taskTitle等。你需要有一個對應的鍵值。例如:localStorage.setItem('taskId',1);在這個例子中,你應該調用localStorage.getItem('taskId'),結果是1,因爲它是相應的值。

+0

好吧,我在想,我們可以添加更多的一個值的關鍵。 謝謝你的回答! – albec