gpt4 book ai didi

javascript - AngularJS ng-repeat 启用对表列进行排序

转载 作者:行者123 更新时间:2023-11-28 00:40:55 24 4
gpt4 key购买 nike

我正在从 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 不可用-开始范围。

Controller

 $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>

关于javascript - AngularJS ng-repeat 启用对表列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com