如何使用 AngularJS ngStorage 将 JSON 变量存储到 $sessionStorage

How to store a JSON Variable with AngularJS ngStorage to $sessionStorage

我有以下变量可以轻松转换为 JSON-String:

var data = {
    ball: {
        colour: "",
        size: "",
        price: ""
    },
    toys: []
}

在我的控制器中,我想将此变量添加到作用域中,例如:

$scope.data = angular.copy(data)

然后我希望它像这样存储在 $sessionStorage 中:

$sessionStorage.data = angular.toJson($scope.data);

页面刷新后$scope.data又是空的。有什么想法吗?

我的代码是这样工作的:

    $scope.$storage = $sessionStorage;

    if (typeof $scope.$storage.data !== 'undefined') {
        $scope.data = $scope.$storage.data;
    } else {
        $scope.data = angular.copy(data);
        $scope.$storage.data = $scope.data;
    }

一个较短的解决方案是:

    $scope.cv = $scope.$storage.cv || angular.copy(cv);
    $scope.$storage.cv = $scope.cv;