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));
我正在使用 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));