ng-table分页不起作用

时间:2014-05-11 08:28:19

标签: javascript ngtable

情况如下,我有以下几点: - 输入字段,我在其中输入ng-model ='user_name'的用户名。 - 一个按钮,ng-click =“queryUserLogs(user_name,$ event) - 当我输入用户名并单击按钮时,将调用我的控制器中定义的以下方法:

// un: username
$scope.queryUserLogs = function(un, $event){
    if(typeof $scope.user_name !== 'undefined'){
        var transaction_id = gen_uuid();
        $scope.$watch("user_name", function (newVal, oldVal) {
            if($event.type === "click"){
                console.log("Reloading...");
                $scope.tableParams.reload();
                delete $event.type;
            }
        });
        $scope.tableParams = new ngTableParams({
            page: 1,            // show first page
            count: 10,          // count per page
        }, {
            total: 0,
            getData: function($defer, params) {
                BI.get({userName: $scope.user_name, page: params.page(), count: params.count()}, function(data) {
                    // set new data
                    $scope.basicInfos = data.results;
                    params.total(data.count);
                    $scope.showLogs = true;
                    $defer.resolve(data.results.slice((params.page() - 1) * params.count(), params.page() * params.count()));
                });
            },
            $scope: { $data: {} }
        });
    } else {
        console.log("Username is empty!");
    }
}
  • 对于第一个请求,该方法被正常调用,使用BI $资源转到服务器并获取数据并正确显示。一切正常。
  • 当我更改用户名并单击按钮时,控制台中会出现以下错误:

    TypeError: undefined is not a function
        at http://localhost:8000/static/js/ng-table.min.js:414:33
        at u (http://localhost:8000/static/js/angular.min.js:97:280)
        at http://localhost:8000/static/js/angular.min.js:98:417
        at h.$eval (http://localhost:8000/static/js/angular.min.js:108:482)
        at h.$digest (http://localhost:8000/static/js/angular.min.js:106:62)
        at h.$apply (http://localhost:8000/static/js/angular.min.js:109:287)
        at f (http://localhost:8000/static/js/angular.min.js:71:247)
        at F (http://localhost:8000/static/js/angular.min.js:75:408)
        at XMLHttpRequest.x.onreadystatechange (http://localhost:8000/static/js/angular.min.js:76:457) 
    
  • 新数据实际上已成功检索,但分页停止工作,如果第一个查询的用户名说4页,第二个只有一页,则第二个查询中的分页保持为4页节。

PS:ngTable被添加到控制器依赖项中。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用#ngTasty表格分页?

这样更容易。

http://zizzamia.com/ng-tasty/directive/table