Ich habe Anwendung auf AngularJs. Ich habe Variable im Umfang, der mit Daten von API initialisiert wird. $scope.receivedRequests = CurrentUserData.incomeRequests();
Filterliste im Controller funktioniert nicht
Ursache Anforderung an API dauert einige Zeit, $scope.receivedRequests
ist beim Start leer.
$scope.receivedRequests
Ich habe mit ng-repeat
<div class="full-row" ng-repeat="row in receivedRequests | filterByStatus:[State.PENDING] | partition:3 track by $index">
verwendet Diese Daten können auch gefiltert. Aber als ich versuchte, diese Filterung in den Controller zu ersetzen, wie
$scope.filterByStatus = function (statuses) {
return $filter('filterByStatus')($scope.receivedRequests, statuses);
};
$scope.pendingRequests = $scope.filterByStatus([State.PENDING]);
$scope.pendingRequests
waren immer leer.
Wie kann ich Daten in der Steuerung filtern?
.filter('filterByStatus', function() {
return function(arr, statuses) {
if (!arr) { return; }
return arr.filter(function(value) {
return statuses.some(function(val) {
return value.status == val;
});
});
};
});
$scope.receivedRequests
ist gerade Anordnung von Elementen, die String-Eigenschaft status
haben (alos id
, date
etc.) als Beispiel: status : "Pending"
Können Sie Ihren filterByStatus-Filtercode und Ihr $ scope.recievedRequests-Array teilen. – Thalaivar