Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 Angular 1.x-无法使用动态数据检索实现分页_Javascript_Angularjs_Json_Pagination - Fatal编程技术网

Javascript Angular 1.x-无法使用动态数据检索实现分页

Javascript Angular 1.x-无法使用动态数据检索实现分页,javascript,angularjs,json,pagination,Javascript,Angularjs,Json,Pagination,我正在构建一个简单的应用程序,它加载一个json文件,并将内容显示在屏幕上,使用户能够使用简单的分页机制滚动页面。我阅读并尝试使用一个真正的json实现数据的动态检索,该json使用专用服务在线托管。数据加载正常,但我收到一个错误:无法读取未定义的属性“slice” 守则: Html: 获取数据服务: app.service("dataService", function($http) { this.getData = function() { return $http({

我正在构建一个简单的应用程序,它加载一个
json
文件,并将内容显示在屏幕上,使用户能够使用简单的分页机制滚动页面。我阅读并尝试使用一个真正的
json
实现数据的动态检索,该json使用专用服务在线托管。数据加载正常,但我收到一个错误:
无法读取未定义的属性“slice”


守则: Html:

获取数据服务:

app.service("dataService", function($http) {
  this.getData = function() {
    return $http({
      method: 'GET',
      url: 'https://api.myjson.com/bins/llzg3',
    }).then(function(data) {
      return data.data;
    });
  };
});
过滤器:

app.filter('startFrom', function() {
  return function(input, start) {
    start = +start; //parse to int
    return input.slice(start);
  }
});

当您从服务加载数据并对其应用过滤器时,请确保首先定义范围变量。因为如果你不这样做,那么在你的数据可用之前,它将是未定义的。只需在控制器中添加以下代码行即可删除控制台上的错误。其他所有操作执行与之前相同的操作:

$scope.catalogData = [];

我已经转向您的JSFIDLE版本,这里有更新的链接:

不重复,因为它们使用静态数据数组,我从网络加载数据,因此是动态的。您只需将一个参数传递给过滤器
startFrom:currentPage*pageSize
app.filter('startFrom', function() {
  return function(input, start) {
    start = +start; //parse to int
    return input.slice(start);
  }
});
$scope.catalogData = [];