Javascript 角度本地存储阵列未在HTML上显示

Javascript 角度本地存储阵列未在HTML上显示,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我正在本地存储中保存一个数组中的前5名高分列表,但当我尝试在HTML中显示它时,它不会出现 我使用GameService.getScores()函数从本地存储中获取数组,并引用$scope.scores数组来填充HTML中的列表 我是Node.js中的noob,我不知道我做错了什么。有什么想法吗 这是我的控制器文件和HTML文件: var-app=angular.module('app',[]); app.controller('GameController',函数($scope,GameSe

我正在本地存储中保存一个数组中的前5名高分列表,但当我尝试在HTML中显示它时,它不会出现

我使用GameService.getScores()函数从本地存储中获取数组,并引用$scope.scores数组来填充HTML中的列表

我是Node.js中的noob,我不知道我做错了什么。有什么想法吗

这是我的控制器文件和HTML文件:

var-app=angular.module('app',[]);
app.controller('GameController',函数($scope,GameService)
{
var highScores=GameService.getScores();
$scope.scores=高分;
$scope.submitEntry=函数()
{
if(typeof$scope.name==‘未定义’| | typeof$scope.word==‘未定义’)
{
回来
}
变量项={
名称:$scope.name,
word:$scope.word
};
var分数=游戏服务。提交(条目);
var userScore={
name:entry.name,
分数:分数
};
如果(分数>0)
{
如果($scope.scores.length<5)
{
$scope.scores.push(userScore);
setItem(“highScores”,JSON.stringify($scope.scores));
回来
}
其他的
{
for(设i=0;i<$scope.scores.length;i++)
{
如果(分数>$scope.scores[i].分)
{
$scope.score.splice(i,1,userScore);
setItem(“highScores”,JSON.stringify($scope.scores));
回来
}
}
}
}
};
});
app.service('GameService',函数($http)
{
this.getScores=函数()
{
var hs=[];
if(localStorage.getItem('highScores')!=null)
{
hs=localStorage.getItem('highScores');
if(hs)
{
hs=JSON.parse(hs);
} 
}
返回hs;
};
this.submittentry=函数(条目)
{
var得分=0;
var revStr=“”;
var str=entry.word;
var i=str.length;
对于(var j=i;j>=0;j--)
{
revStr=revStr+str.charAt(j);
}
如果(str==revStr)
{
警报(str+“是回文”);
分数=str.length;
}
其他的
{
警报(str+“不是回文”);
}
返回分数;
};
});

回文博弈
提交一个新单词!
提交单词
高分
  • {{score.name}{{score.points}}points

您的代码实际工作正常:


回文博弈
提交一个新单词!
提交单词
高分
  • {{score.name}{{score.points}}points
var-app=angular.module('app',[]); app.controller('GameController',函数($scope,GameService) { var highScores=GameService.getScores(); $scope.scores=高分; $scope.submitEntry=函数() { if(typeof$scope.name==‘未定义’| | typeof$scope.word==‘未定义’) { 回来 } 变量项={ 名称:$scope.name, word:$scope.word }; var分数=游戏服务。提交(条目); var userScore={ name:entry.name, 分数:分数 }; 如果(分数>0) { 如果($scope.scores.length<5) { $scope.scores.push(userScore); setItem(“highScores”,JSON.stringify($scope.scores)); 回来 } 其他的 { for(设i=0;i<$scope.scores.length;i++) { 如果(分数>$scope.scores[i].分) { $scope.score.splice(i,1,userScore); setItem(“highScores”,JSON.stringify($scope.scores)); 回来 } } } } }; }); app.service('GameService',函数($http) { this.getScores=函数() { var hs=[]; if(localStorage.getItem('highScores')!=null) { hs=localStorage.getItem('highScores'); if(hs) { hs=JSON.parse(hs); } } 返回hs; }; this.submittentry=函数(条目) { var得分=0; var revStr=“”; var str=entry.word; var i=str.length; 对于(var j=i;j>=0;j--) { revStr=revStr+str.charAt(j); } 如果(str==revStr) { 警报(str+“是回文”); 分数=str.length; } 其他的 { 警报(str+“不是回文”); } 返回分数; }; });
我删除了这个:

<script src="ng/app.js"></script>`
`
但我不确定这是否是一个问题

根据您测试代码的方式(stackoverflow上的代码片段,JSFIDLE)以及在哪个浏览器上测试,您可能会在同源策略中遇到一些问题

在chrome上,我必须取消选中“阻止第三方cookies”才能使其正常工作。在firefox上,它仍然不工作,操作被阻止,因为浏览器认为它不安全


我建议您在您的计算机上本地尝试代码,而不是在JSFIDLE之类的在线沙盒中尝试。

控制台中的任何错误控制台中没有错误打印模板中的
分数
,例如
{{scores}
似乎可以工作,您只是对数据排序不好谢谢Zooly,您对数据排序是什么意思?
<script src="ng/app.js"></script>`