我正在尝试在sessionStorage中保留一些数据,但如果我刷新页面或从链接中退出然后返回,则sessionStorage不再存在。
我是sessionStorage的新手,很抱歉,如果这是一个明显的解决方法。
基本上我将一个数组存储到sessionStorage中。
$scope.addPlant = function(plant) {
for (i = 0; i < $scope.userPlantList.length; i++) {
if ($scope.userPlantList[i] === plant) {
alert("You have already added this plant");
return;
}
}
$scope.userPlantList.push($scope.currentPlant);
sessionStorage.setItem("Plants",JSON.stringify($scope.userPlantList));
};
然后当我想知道所有存储的内容时
$scope.retreiveList = function() {
var retrieved = sessionStorage.getItem("Plants");
$scope.userPlantList = JSON.parse(retrieved);
}
当我不刷新页面/应用程序时,这很好用。
问题:如何在刷新/立即重访期间让我的sessionStorage持续?
答案 0 :(得分:7)
通过查看开发人员工具
来检查数据是否真的消失了如果您使用chrome:F12 - &gt;资源标签 - &gt;会话存储。
sessionStorage与浏览器标签一起生效。无论何时关闭选项卡,都会清除会话存储数据。
如果您想要在标签之间共享的内容,请查找localStorage。
答案 1 :(得分:0)
我建议使用角度
中的$window
提供程序
// set
$window.sessionStorage.setItem('Plants', angular.toJson($scope.userPlantList));
// get
$scope.userPlantList = angular.fromJson($window.sessionStorage.getItem('Plants')) || [];