-4

我有这个 HTML http://pastebin.com/DegTb0iH

有一个 ng-repeat rulling in rullings 需要对每个员工进行投票计数,获取这些值如下:http://pastebin.com/EB4KigwS

问题出现在第 17,18 和 19 行 HTML,totalVotes 在 JS 中总是返回 0(或仅返回最后一个结果),如果你在 console.log 中成功,每种投票类型的正确结果都会出现

有人可以帮我吗?

4

1 回答 1

0

您使用不同的值voto_type(足够公平)调用该函数三次,但是在成功回调中,所有这三个值都将存储结果,$scope.totalVotes这意味着它们将始终显示相同的最后一个结果。

您需要将每个结果存储到单独的 $scope 变量中。

例如 JS:

if (angular.isUndefined($scope.totalVotes)) {
    $scope.totalVotes = {};
}
if (result.total > 0) {
    $scope.totalVotes[voto_type] = result.total;
} else {
    $scope.totalVotes[voto_type] = 0;
}

和 HTML:

<p ng-init="getTotalVotes(rulling.id, 's')">Positivos: {{totalVotes['s']}}</p>
<p ng-init="getTotalVotes(rulling.id, 'n')">Negativos: {{totalVotes['n']}}</p>
<p ng-init="getTotalVotes(rulling.id, 'a')">Abstenções: {{totalVotes['a']}}</p>
于 2016-02-22T04:22:24.877 回答