0

我有这个对象集合/数组

$scope.users = [
    {name:'Maria', score:90},
    {name:'Bob', score:10},
    {name:'Claire', score:17},
];
$scope.currentUser = 'Bob';

我使用 ng-repeat 和 orderBy 列出它们

li.list-group-item(ng-repeat="user in users | orderBy:'score':true")

我如何显示一条消息说:“欢迎 Bob,今天你是 #3 ”。其中“1,2,3 ...”是他在基于“分数”的有序集合中的位置

4

2 回答 2

0

用于{{$index}}显示索引。

记住它从 0 开始,所以你必须加 1。

{{ $index + 1 }}

希望这可以帮助。

于 2014-07-03T07:03:59.437 回答
0

您可以使用 $filter 找到当前用户

JavaScript

app.controller('UsersCtrl', ['$scope', '$filter', function ($scope, $filter) {
    $scope.users = [
        {name: 'Maria', score: 90},
        {name: 'Bob', score: 10},
        {name: 'Claire', score: 17},
    ];

    user = $filter('filter')($scope.users, {name: 'Bob'})[0];
    // or
    // user = $filter('filter')($scope.users, name: $scope.currentUser)[0];

    $scope.position = $scope.users.indexOf(user) + 1;
}]);

模板

<p>Welcome {{ currentUser }}, today you are #{{ position }}</p>

应该管用。

于 2014-09-04T05:39:52.157 回答