Javascript 关闭并重新运行应用程序后,本地存储中的数据不会持久

Javascript 关闭并重新运行应用程序后,本地存储中的数据不会持久,javascript,html,cordova,ionic-framework,Javascript,Html,Cordova,Ionic Framework,我正在使用本地存储在我的游戏中只保存一个数字(最佳分数),在玩游戏时效果很好。我可以玩多个回合,它正确地显示最高分数,但一旦我完全关闭应用程序并重新打开,最佳分数就消失了 控制器: $scope.$on("$ionicView.beforeEnter", function () { if(window.localStorage.getItem("topscore")<$rootScope.totalscore){ window.localStorage.se

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

控制器:

  $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");
    }

    });

使用ionic框架并在实际的iPhone6设备上进行测试。感谢您的帮助

此位可能不在
if
子句的范围内,以便在启动时始终加载该值。我还添加了一个类型转换,因为
localStorage
只处理字符串,如果未设置,则为默认值

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

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

基本上,每当应用程序启动时,您都要在键上进行书写。

在主题中,“日期”应该是“数据”吗?
$scope.bestscore = parseInt(localStorage.getItem("topscore") || "0", 10);