Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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 ng表分页不工作_Javascript_Ngtable - Fatal编程技术网

Javascript ng表分页不工作

Javascript ng表分页不工作,javascript,ngtable,Javascript,Ngtable,情况是这样的,我有以下几点: -一个输入字段,我在其中输入一个用户名ng model='user\u name'。 -按钮,带有ng click=“queryUserLogs(用户名,$event) -当我输入用户名并单击按钮时,将调用控制器中定义的以下方法: // un: username $scope.queryUserLogs = function(un, $event){ if(typeof $scope.user_name !== 'undefined'){ v

情况是这样的,我有以下几点: -一个输入字段,我在其中输入一个用户名ng model='user\u name'。 -按钮,带有ng click=“queryUserLogs(用户名,$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已添加到控制器依赖项。

您是否尝试使用#ngTasty table分页

这容易多了


不知道这是否是问题所在,但你不应该在点击处理程序中注册手表。相反,使用一个标志来指示手表是否应该做某事。为什么要摆弄
事件
?尝试使用
angular.js
,这是一个未缩小的代码,以了解
TypeErrpr
可能意味着什么。@phylax我使用了unmodified version,下面是错误日志:我将其更改为监视$event,但它给出了相同的错误。请查看此链接以修复代码-您将看到不应绑定到原语,因为可能会发生奇怪的事情。请先修复此问题,然后我们将继续进行故障排除。