我正在尝试使用LocalStorage来存储包含对象的数组。现在,以下代码在控制台上返回一个对象,而不是作为数组返回。这意味着我的离子列表无法读取它。有没有办法绕过这个并将数值作为数组返回数组中的对象?对象表示包含多个内容,例如ID,标题等。我希望能够在数组中存储多个演示文稿,并能够访问每个演示文稿并在离子列表中显示它们。
Manager.js
playlistService.addPlaylistAll = function (presentation) {
console.log("setting item");
var playlistarraytest = [];
playlistarraytest.push(presentation);
console.log("array first!! ", playlistarraytest);
localStorage.setItem('playlisttest', playlistarraytest);
playlistService.refresh();
var test = localStorage.getItem('playlisttest');
console.log(test);
}
Playlist.html
<ion-list ng-repeat="presentation in dayOne = (playlist | filter: { day: 1 } | orderBy: 'start_date')">
答案 0 :(得分:4)
您无法直接在LocalStorage中存储数据结构。 LocalStorage仅存储字符串。所以你必须使用:
let json = JSON.stringify(playlistarraytest);
localStorage.setItem('playlisttest', json);
然后检索它使用:
var test = localStorage.getItem('playlisttest');
let arr = JSON.parse(test);
console.log(arr);