Javascript ng表分页不工作
情况是这样的,我有以下几点: -一个输入字段,我在其中输入一个用户名ng model='user\u name'。 -按钮,带有ng click=“queryUserLogs(用户名,$event) -当我输入用户名并单击按钮时,将调用控制器中定义的以下方法: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
// 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页,反之亦然
不知道这是否是问题所在,但你不应该在点击处理程序中注册手表。相反,使用一个标志来指示手表是否应该做某事。为什么要摆弄
事件?尝试使用angular.js
,这是一个未缩小的代码,以了解TypeErrpr
可能意味着什么。@phylax我使用了unmodified version,下面是错误日志:我将其更改为监视$event,但它给出了相同的错误。请查看此链接以修复代码-您将看到不应绑定到原语,因为可能会发生奇怪的事情。请先修复此问题,然后我们将继续进行故障排除。