Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS ng重复启用表列排序_Javascript_Angularjs_Ng Repeat - Fatal编程技术网

Javascript AngularJS ng重复启用表列排序

Javascript AngularJS ng重复启用表列排序,javascript,angularjs,ng-repeat,Javascript,Angularjs,Ng Repeat,我正在从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="columnToO

我正在从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>

但是这个代码不起作用。也没有显示错误。请帮助我启用此功能。

不要使用内联,而是定义一种排序方法,并在单击期间使用该方法,因为如果变量是在内联中定义的,则变量将在子范围中创建,并且它将不适用于父ng repeat start范围

控制器

 $scope.order =function(key) {
    $scope.columnToOrder=key;
    $scope.reverse= !$scope.reverse
};
HTML


S.No{{key}
{{$index+1}{{value}

非常感谢Karthik,它对我很有用,但正如我的问题一样,我的数据有关键字作为单词(中间有空格),因此排序对该列不起作用。
 $scope.order =function(key) {
    $scope.columnToOrder=key;
    $scope.reverse= !$scope.reverse
};
<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>