angularjs - 如何在 sessionStorage 中存储数组?

angularjs - How do I store an array inside sessionStorage?

我正在使用 HTML5 和 AngularJS 开发网站,在控制器内部我访问数据库并初始化数组 $scope.array

之后我将初始化的数组保存在会话中:

sessionStorage.array = $scope.array;

如果该数组存在于 sessionStorage 中,我想加载 sessionStorage 副本,而不是定义一个空数组。

我是这样做的:

if(sessionStorage.array)
        $scope.array = sessionStorage.array;
else
        $scope.array = [];

所以 $scope.array 是我通过 ng-repeat 呈现给 HTML 的数组。

但我的问题是,第一次刷新后,$scope.array对象变成了一个空数组(刷新前,它是用数据库中的值初始化的)

如何在会话中保存数组,使其不会到达 'else' 分支?

我假设你想要

var arr = sessionStorage.getItem("array");
$scope.array = arr ? JSON.parse(arr) : [];

...

sessionStorage.setItem("array",JSON.stringify($scope.array));