关闭并重新访问应用程序后,本地存储中的数据不会保留

data in local storage does not persist after closing and reoping app

本文关键字:存储 数据 保留 新访问 应用程序 访问      更新时间:2023-09-26

我使用本地存储在我的游戏中只保存一个数字(最佳分数),并且在玩游戏时效果很好。我可以玩多个回合,它正确地显示了最高分,但是一旦我完全关闭应用程序并重新打开,最好的分数就消失了。

控制器:

  $scope.$on("$ionicView.beforeEnter", function () {
    if(window.localStorage.getItem("topscore")<$rootScope.totalscore){
        window.localStorage.setItem("topscore", $rootScope.totalscore);
        window.localStorage.setItem("password", "yessir");
        $scope.bestscore=window.localStorage.getItem("topscore");
    }
    });

.HTML:

BESTSCORE: {{bestscore}}

使用离子框架并在实际的iPhone 6设备上进行测试。感谢您的帮助

如果在应用程序启动时调用该函数,则根作用域上可能还没有 totalScore 值。尽管如此,您似乎继续将该值设置到"topscore"键下的本地存储中。

基本上,每当应用程序启动时,您都会重写密钥。

这个位可能应该在 if 子句之外,以便在你的东西启动时始终加载值。我还添加了一个类型转换,因为localStorage只处理字符串,并在未设置的情况下添加默认值。

$scope.bestscore = parseInt(localStorage.getItem("topscore") || "0", 10);