列出如下:
var names_Array = [];
var names_List = new WinJS.Binding.List(names_Array);
我将列表推入以下内容:
names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" });
names_List.push({ name: "Esteban Flamenco ", image: "image/Esteban Flamenco.png", ClientID: "6666" });
然后我将列表设置在本地存储中,如下:
window.localStorage.setItem('names_List', names_List);
最后我得到了这样的项目:
var test = window.localStorage.getItem('names_List');
console.log(test);
我希望能够在控制台中打印列表的元素。任何人都可以指导我这个。我尝试过使用names_List.getAt(index)方法但无济于事。
答案 0 :(得分:3)
你几乎肯定会在这里弄得一团糟,因为localStorage
只会存储字符串。任何其他类型的对象将转换为字符串。所以你可能得到像[object Object],[object Object],[object Object],[object Object]
这样的东西,一个对象数组的结果被转换成一个字符串。
解决此问题的最佳方法是使用JSON。
window.localStorage.setItem('names_List', JSON.stringify(names_List));
var test = JSON.parse(window.localStorage.getItem('names_List'));
这会以更有意义的方式将对象转换为字符串,因此您将保留结构。