过滤器“orderBy”不能使用变量作为数组

时间:2015-07-25 00:25:58

标签: javascript angularjs

我试图在ng-repeat中使用orderBy但它不起作用。

这是我创建和填充ng-repeat上使用的数组的地方:

    for (var k = 0; k < $scope.allUsers.length; k++)
    {
        var score = 
        {
            points: 0,
            headshot: 0,
            winners: 0,
        };

        $scope.currentScore.push(score);
    }

这就是我所说的:

            <tr ng-repeat="singleScore in currentScore | orderBy: 'points'">
                <td>{{singleScore.points}}</td>
                <td>{{singleScore.headshot}}</td>
                <td>{{singleScore.winners}}</td>
            </tr>

这个“currentScore”数组在setInterval函数中不时更改,其值正在正确更新..但orderBy永远不会工作。

我知道有很多类似的问题,但几乎所有问题都解决了“你没有使用数组”......但我确实使用了一个阵列,但它仍然无法正常工作。

我做错了什么?

编辑: 解决了:

$interval($scope.calculateWeekScore, 2000, 10, true, $scope.activeWeek);

谢谢!

1 个答案:

答案 0 :(得分:1)

在角度范围内不调用setInterval。您需要致电$scope.apply()

您还可以使用angularjs $ interval,它是setInterval的包装。

https://docs.angularjs.org/api/ng/service/$interval