我正在使用本地存储在我的游戏中只保留一个数字(最佳分数)并且在玩游戏时效果很好..我可以玩多轮并且它正确显示最高分但是只要我完全关闭关闭应用程序并重新打开,最好的分数消失了。
控制器:
$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设备上使用离子框架和测试。谢谢你的帮助
答案 0 :(得分:1)
这个位应该在if
子句之外,以便在你的东西启动时总是加载该值。我还添加了一个类型转换,因为localStorage
只处理字符串,如果没有设置则默认值。
$scope.bestscore = parseInt(localStorage.getItem("topscore") || "0", 10);
答案 1 :(得分:1)
如果在您的应用程序启动时调用该函数,那么您的根范围可能还没有totalScore值。尽管如此,您似乎仍然可以将该值设置为&#34; topscore&#34;键。
基本上,只要应用程序启动,您就会在密钥上进行写操作。