UPDATE: Ich glaube , ich wirklich in der Dokumentation sah nicht gut genug , aber man kann auf jeden Fall das verwendet Filter mit dieser Syntax (siehe Filter diese Geige ) zum Filter durch eine Eigenschaft auf den Objekten:
<tr ng-repeat="user in users | filter:{status:4}">
Hier ist meine ursprüngliche Antwort für den Fall, dass es jemandem hilft:
Mit dem Filterfilter können Sie keinen Parameter übergeben, aber Sie können mindestens zwei Dinge tun.
1) Legen Sie die Daten, nach denen Sie filtern möchten, in einer Bereichsvariablen fest und verweisen Sie auf diese in Ihrer Filterfunktion wie diese Geige .
JavaScript:
$scope.status = 1;
$scope.users = [{name: 'first user', status: 1},
{name: 'second user', status: 2},
{name: 'third user', status: 3}];
$scope.isStatus = function(user){
return (user.status == $scope.status);
};
Html:
<li ng-repeat="user in users | filter:isStatus">
ODER
2) Erstellen Sie einen neuen Filter, der einen Parameter wie diese Geige berücksichtigt .
JavaScript:
var myApp = angular.module('myApp', []);
myApp.filter('isStatus', function() {
return function(input, status) {
var out = [];
for (var i = 0; i < input.length; i++){
if(input[i].status == status)
out.push(input[i]);
}
return out;
};
});
Html:
<li ng-repeat="user in users | isStatus:3">
Beachten Sie, dass dieser Filter davon ausgeht, dass status
die Objekte im Array eine Eigenschaft enthalten, die sie möglicherweise weniger wiederverwendbar macht. Dies ist jedoch nur ein Beispiel. Sie können lesen , das auf die Schaffung von Filtern für weitere Informationen.