【发布时间】:2015-12-25 19:22:07
【问题描述】:
我已经构建了一个带有过滤器、排序、限制和分页系统的表格。 使用来自 javascript 的普通对象数组可以按预期工作。
当我尝试从服务器检索数据并将其与客户端分页和过滤器一起使用时,我的问题就出现了。当页面加载几秒钟时,$scope.data 是未定义的,直到 $http 被解析。我不知道如何解决,希望您能帮助我。
这是我认为在 $http 解析之前初始化的分页过滤器。
.filter('pagination', function () {
return function (inputArray, currentPage, pageSize) {
var start = (currentPage - 1) * pageSize;
return inputArray.slice(start, start + pageSize);
};
})
我将在此处保留我的问题,以便您可以更好地看到它。
【问题讨论】:
-
你不能只为 $scope.data 分配一个默认的空数组,或者如果 inputArray 是数组,则检查你的过滤器吗?
-
我尝试检查我的输入 if(inputArray.isArray){return inputArray.slice(start, start + pageSize);} 但这不起作用,如果我将默认的空数组分配给$scope.data 在页面加载时不会显示任何进入表的条目:/
-
if( angular.isArray(inputArray) )
-
它也不起作用,因为在控制器内部我还想检索 numPages 中的 $scope.data.length。另外我在两个 $watch 中使用 $scope.filtered.length 重新计算 numPages,当控制器初始化时它变成未定义。
标签: javascript angularjs pagination xmlhttprequest client-side