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 = [];