具有角度ng重复的Numareting表

时间:2016-09-21 18:13:35

标签: javascript angularjs

我想创建带角度的编号表,

我试过

<tr ng-repeat="item in data">
     <td>{{$index}}</td>
     <td>{{item.name}}</td>
</tr>

它可以工作,但是当我使用命令对表进行排序时我希望保持索引 所以第一个“”总是必须是这样的 - 1,2,3,4 并通过更改2,1,4,3和类似的东西来订购

抱歉我的英文不好

我添加了jsfiddle示例

http://jsfiddle.net/Lvc0u55v/9907/

3 个答案:

答案 0 :(得分:1)

$index变量不是data的一部分,只是数组索引。当您使用不同参数对数组进行排序时,data数组值的顺序会发生变化,但数组索引与之前保持一致。要解决此问题,您可以将顺序value作为data数组的每个对象的属性。然后显示显示该属性,而不是显示数据数组的$index

例如在控制器中:

for(var i = 0; i < $scope.data.length; i++){
  $scope.data[i].sl = i+1;
}

在视图中:

<tr ng-repeat="item in data">
     <td>{{item.sl}}</td>
     <td>{{item.name}}</td>
</tr>

答案 1 :(得分:0)

一种选择是将列标记为不排序,如下所示:

$scope.dtColumnDefs = [
          DTColumnDefBuilder.newColumnDef(0).notSortable()
];

示例数据表:

<table dt-column-defs="dtColumnDefs"> </table>

Here是一些文档。

但是,将某些表格数据标记为不能用Jquery排序是可能的,如@dSquared answer

答案 2 :(得分:0)

我找到的最简单的解决方案,使用css

SELECT flow ,  COUNT(*) tot
FROM (
            select 
            GROUP_CONCAT(ff.page, '#', ff.snippet_params,'$',ff.is_lead SEPARATOR '|') flow ,

  FROM table_a ff
  WHERE  f.is_lead = 1
            GROUP BY ff.user_id ) as new_flow

GROUP BY  flow
ORDER BY tot DESC LIMIT 10