ng-repeat中的orderBy和$ Index问题

时间:2014-12-21 11:36:27

标签: javascript angularjs

我循环播放一系列事件并将其显示在前面。有指令"得分"在div中,我想使用$index在指令代码中注入数组元素。工作正常,直到我尝试将orderBy添加到ng-repeat。现在$index基于有序列表工作。有什么建议如何注入数组当前元素的数量?

数据:

"events" : [{
"event_score" : [0,1]
},
{
"event_score" : [0,1]
},
...
]

这是我的代码:

<div ng-repeat="e in events | orderBy:'match_time'">
  <score index="{{$index}}" user="{{screen_name}}"></score>
</div>

1 个答案:

答案 0 :(得分:0)

您是否尝试将events分配给$scope变量?

  $scope.events = [{
    "event_score" : [0,1]
    },
    {
    "event_score" : [0,1]
    },
    ...
    ];

<div ng-repeat="e in events">
  Current item is {{$index}}
  <score index="{{$index}}" user="{{screen_name}}"></score>
</div>

这与angularjs的工作方式非常吻合:P

然后

orderBy:'match_time'将无效,因为您的阵列中没有名为match_time的密钥(我可以看到),所以如果您有类似

的内容,它将会起作用
 $scope.events = [{
        "event_score" : [0,1],
        "match_time": 5600
        },
        {
        "event_score" : [0,1],
        "match_time":4500
        }
        ];