【发布时间】:2016-09-14 13:32:32
【问题描述】:
我有以下很容易转换为 JSON 字符串的变量:
var data = {
ball: {
colour: "",
size: "",
price: ""
},
toys: []
}
在我的控制器中,我想将此变量添加到范围中,例如:
$scope.data = angular.copy(data)
然后我希望它存储在 $sessionStorage 上,例如:
$sessionStorage.data = angular.toJson($scope.data);
页面刷新后,$scope.data 再次为空。有什么想法吗?
【问题讨论】:
-
$sessionStorage 不可能吗?如果没有,为什么和 $localStorage 有什么区别? @SaEChowdary
-
刷新后你的数据在
$sessionStorage.cv,而不是$scope.data。最后一行代码只是将数据序列化到 sessionStorage 中。您需要在 sessionStorage 不存在时将其反序列化的代码。类似$scope.data = $scope.data || $sessionStorage.cv。 -
你能再精确一点吗?甚至可以存储数组而不是普通变量吗? @MikeMcCaughan
-
我刚刚看到您在 $sessionStorage 中存储了一些东西,但从未将其取出,这在逻辑上是行不通的。我没有使用过 ngStorage,所以我不确定它的序列化是如何工作的。这就是为什么我把它写成评论而不是答案:)。我弄清楚这些东西的方法是尝试一下,看看会发生什么。如果它不起作用,请尝试其他方法。此外,the documentation for ngStorage 包含许多示例。
-
是的,我看过这个。对我帮助不大。 @MikeMcCaughan
标签: angularjs sessionstorage ng-storage