我有这个集合/对象数组
$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 ......”是他在基于“得分”的有序集合中的位置
答案 0 :(得分:0)
使用{{$index}}
显示索引。
请记住它从0开始,因此您必须添加1。
{{ $index + 1 }}
希望这有帮助。
答案 1 :(得分: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>
应该工作。