AngularJS ng-repeat启用对表列的排序
AngularJS ng-repeat enable sorting on table columns
我正在从JSONObject数组创建一个表。并希望在列标题单击时启用排序。我的代码如下。
<table>
<tr ng-repeat-start="record in records | orderBy:columnToOrder:reverse" ng-if="$first">
<td>S.No</td><td ng-repeat="(key,value) in record " ng-click="columnToOrder=key;reverse=!reverse">{{key}}</td>
</tr>
<tr ng-repeat-end >
<td>{{$index+1}}</td><td ng-repeat="(key,value) in record ">{{value}}</td>
</tr>
</table>
我的数据看起来像
[
{ Count="85923", Property Name="Name 1"},
{ Count="85933", Property Name="Name 2"},
{ Count="85953", Property Name="Name 3"},
{ Count="85973", Property Name="Name 4"}
]
但是此代码不起作用。也没有显示任何错误。请帮助我启用此功能。
不要使用内联,而是定义一个排序方法并在单击期间使用该方法,因为如果变量是内联定义的,则变量是在子作用域中创建的,并且它不适用于父 ng-repeat-start 作用域。
控制器
$scope.order =function(key) {
$scope.columnToOrder=key;
$scope.reverse= !$scope.reverse
};
.HTML
<table>
<tr ng-repeat-start="record in records | orderBy:columnToOrder:reverse" ng-if="$first">
<td>S.No</td><td ng-repeat="(key,value) in record " ng-click="order(key)">{{key}}</td>
</tr>
<tr ng-repeat-end>
<td>{{$index+1}}</td><td ng-repeat="(key,value) in record">{{value}}</td>
</tr>
</table>
相关文章:
- 在angularjs ng-repeat指令中对对象进行排序
- AngularJS ng-repeat启用对表列的排序
- 角度 - 使用 orderBy in ng-repeat 以递增顺序排序
- 在 ng-repeat中对对象属性进行排序的方法
- 跳过 Angular JS 中的 ng-repeat JSON 排序
- 使用过滤器对 ng-repeat$scope对象进行排序
- 如何在ng repeat中对JSON数据进行排序
- 如何使用带有键|值对的ng repeat进行排序
- 为什么这个表(ng repeat)的角度没有按预期排序
- 两个独立对象按键排序的ng-repeat
- 如何在ng-repeat中使用嵌套对象将数据排序为angular js中的JSON数据
- 对使用优先级和对象属性值的ng-repeat进行排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- Angular ng-repeat (key, value) |按值排序
- AngularJS:在ng-repeat中按日期排序,关键字是日期
- 角排序和ng-repeat
- 在AngularJS中拖放可排序的ng:repeat
- Angularjs ng-repeat按数字顺序排序字符串数组
- order过滤器不排序动态添加的ng-repeat列表
- AngularJS -如何使用另一个数组来排序ng-repeat