javascript - ng 表排序不起作用

标签 javascript angularjs sorting ngtable

我使用 ng-table 创建了一个应用程序,该应用程序运行良好,它使用 ng-table 生成了表。我面临的问题是表格排序不起作用。我的代码如下所示

Working Demo

html

<table ng-table="tableParams" class="table">
        <tr ng-repeat="user in myValues">
            <td data-title="'Name'" sortable="'name'">
                {{user.name}}
            </td>
            <td data-title="'Age'" sortable="'age'">
                {{user.age}}
            </td>
        </tr>
</table>

脚本

var app = angular.module('main', ['ngTable']).
controller('DemoCtrl', function($scope, $filter, ngTableParams) {
    $scope.myValues = [{name: "Moroni", age: 50},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}, 
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}];

    $scope.tableParams = new ngTableParams({
        sorting: {
            name: 'asc'     
        }
    }, {
        getData: function($defer, params) {
            $defer.resolve($filter('orderBy')($scope.myValues, params.orderBy()));
        }
    });
});

最佳答案

$defer.resolve($filter('orderBy')($scope.myValues, params.orderBy()));

将创建一个新的排序数组,但不会更改 $scope.myValues

因此,您每次都将 $scope.myValues 设置为排序数组:

$scope.myValues = $filter('orderBy')($scope.myValues, params.orderBy());
$defer.resolve($scope.myValues);

或者在ng-repeat中使用$data代替myValues:

<tr ng-repeat="user in $data">

关于javascript - ng 表排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26237405/

相关文章:

javascript - jQuery SlideToggle 正在添加空白

javascript - 通过JQuery改变背景图片

javascript - AngularJS 模态异步关闭不起作用

python - 如何从文件中获取顶部、底部和中间数据

c - 如何在C中对结构体指针数组进行快速排序?

javascript - MVC3 从 Javascript 调用 Controller 方法

javascript - 查询中不等于的 Waterline ORM (sails.js) 条件

javascript - 复制 ng-if 以获得特定功能

AngularJS 1.2 - ngAnimate 不工作

arrays - 带有多个属性上的对象的 typescript 排序数组