无法读取未定义的属性“排序”

时间:2019-06-16 06:43:37

标签: angularjs ngtable

你好,我是Angular js的新手。我使用Ng-Table模块向页面中添加钉住,过滤器。但是当我尝试运行以下代码时,它显示了未定义的排序。但是我发现未定义参数这就是为什么它给我带来一些不确定的错误。

$http({
        url:"http://localhost:8080/",
        dataType:'json',
        method:'GET',
        data:'',
        headers:{
            'Content-type':'application/json'
        }
    }).then(function (response) {
        $scope.tableData = response.data;
        $scope.tableParams = new NgTableParams({
            page: 1,
            count: 5
        }, {
            total: $scope.tableData.length,

            getData: function ($defer, params) {
                console.log(params);
                $scope.data = params.sorting() ? $filter('orderBy')($scope.tableData, params.orderBy()) : $scope.tableData;

                $scope.data = params.filter() ? $filter('filter')($scope.data, params.filter()) : $scope.data;

                $scope.data = $scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count());

                $defer.resolve($scope.data);
            }
        });
    });

问题我如何才能使其在angularjs1.6.1.js中正常工作?

当我输入以下代码时,它可以完美工作,但没有过滤器而不进行排序

    $scope.tableParams = new NgTableParams({
            page:1,
            count:5
        }, {
            getData: function(params) {
                params.total($scope.tableData.length);
                return $scope.tableData.slice((params.page() - 1) * params.count(), params.page() * params.count());
            }
        }
    );

1 个答案:

答案 0 :(得分:1)

要在angularjs中使用排序,您需要将$ filter注入为依赖项

app.controller('TutorialController', function ($scope, $filter, ngTableParams) {