Die Datensätze in meiner Aktivitätsprotokollseite sind auf maximal 100 begrenzt. Ich versuche, eine Seitennummerierung auf der Seite zu finden. Einstellung auf 50 Einträge pro Seite. Gibt es eine Möglichkeit, $http.get(‘/api/activity’)
Anrufe in getData Funktion übergeben und fügen Sie einen Offset auf den http-Aufruf, so Offset-Nummer würde jedes Mal ändern die Seitenzahl ändert?Wie HTTP-Aufruf in GetData-Funktion übergeben?
angular.module('myApp').controller('ActivityLogController', function($scope, $log, $rootScope, $http, $state, $interval, $stateParams, NgTableParams, $filter) {
return $scope.initActivity = function() {
return $http.get('/api/activity').then(function(response) {
$scope.activity = _.map(response.data, function(activity) {
var ref, ref1;
if (activity.User) {
activity.name = ((ref = activity.User) != null ? ref.firstName : void 0) + " " + ((ref1 = activity.User) != null ? ref1.lastName : void 0);
} else {
activity.name = "Null User";
}
return activity;
});
$scope.activity = _.orderBy($scope.activity, ['createdAt'], ['desc']);
return $scope.activityTable = new NgTableParams({
sorting: {
day: 'asc'
},
page: 1,
count: 50
}, {
total: $scope.activity.length,
counts: [],
getData: function($defer, params) {
var filteredData, orderedData, slicedData;
filteredData = params.filter() ? $filter('filter')($scope.activity, params.filter()) : $scope.activity;
orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
slicedData = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
return $defer.resolve(slicedData);
}
});
});
};
});
Nicht sicher den Offset-Teil, aber für innen 'getData die Ajax-Aufruf zu tun()', die Sie gerade müssen das Versprechen aus dem '$ http'-Aufruf zurückgeben:' getData: function ($ defer, params) {return $ http.get ('/ api/activity'). dann (function (data) {return data.slice (...);}); } ' – Rhumborl