LocalStorage设置对象内部阵列离子列表

时间:2018-05-15 15:04:04

标签: javascript arrays angularjs ionic-framework local-storage

我正在尝试使用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')">

1 个答案:

答案 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);