我觉得我在这里遗漏了一些基本的东西,并希望得到一些帮助。
我有一些看起来像这样的数据
infixNotation
还是一个ng-repeat,它是playerPoints中的玩家,它显示了每个玩家点数的列表。但是我想在每个列表的末尾添加一个总数。这加起来所有特定的球员积分。在这种情况下,ted会有5,而bill会有6。
我环顾四周并没有真正遇到过看起来会起作用的东西,但这是缺少基本信息的地方。
任何帮助都会很棒。
答案 0 :(得分:1)
您需要在控制器或服务中提供预先执行此操作的功能。像这个未经测试的例子:
myService.data = {
"playerPoints": {
"ted": {
"military": 3,
"gold": 2
},
"bill": {
"military": 2,
"gold": 4
}
}
};
function sum(obj) {
var sum = 0;
for (var el in obj) {
if (obj.hasOwnProperty(el)) {
sum += parseFloat(obj[el]);
}
}
obj[el]["total"] = sum;
}
sum(myService.data.playerPoints);
在控制器中,您将为服务属性分配一个变量:
ctrl.playerData = myService.data;
然后在您的视图中,您只需输出该键的值:
<div ng-repeat="player in ctrl.playerData">
<span>{{player.total}}</span>
...
</div>
如果在服务中正确完成并作为服务的属性存储,视图将自动数据绑定,并且如果对象的数据发生更改,将动态更新。