Time for action – loading the tasklist
We have the tasklist saved. But that doesn't do us much good if we can't load it. So let's add a new private method called loadTaskList()
:
function loadTaskList() { var tasks = appStorage.getObject("taskList"); if (tasks) { for (var i in tasks) { addTaskElement(tasks[i]); } } }
This method calls appStorage.getValue()
passing in the key for our tasklist. Then it checks to make sure we got something back. If so, it iterates over all of the tasks in the array calling the addTaskElement()
method for each one.
The only thing left to do is add a call to loadTaskList()
from the start()
method, so the list is loaded when the application starts:
this.start = function()
{
// Code not shown…
loadTaskList();
setStatus("ready");
};
What just happened?
We used the AppStorage
object in our tasklist application to store the tasklist to localStorage
any time something changes, and then retrieve it and build the tasklist when the user returns.
Have a go hero
Write a local storage browser application that can be used to look at the data for each application in your domain. At the top level, list all of the applications. When you drill down into the application, it shows all of its local storage items. When you click an item, it shows the contents of that item.
Pop quiz
Q1. What are the three basic components of an HTML5 application?
- jQuery, templates, and local storage
- Document, object, and model
- Tags, elements, and attributes
- HTML, CSS, and JavaScript
Q2. What type of data can be stored in local storage?
- Any type
- Objects
- Numbers
- Strings