Ich bin nicht klar Ihre Frage bekommen, aber soweit ich es verstanden, glaube ich, was Sie brauchen einen benutzerdefinierten Filter zu schreiben ist.
In diesem Beispiel entspricht matchMyCriteria alle Elemente im Array mit der Liste der verfügbaren Namen in AuthorArray Array.
HTML:
<div ng-repeat="item in items | filter: matchMyCriteria()">
{{ item }}
</div>
JS:
$scope.items = [{title: "abc", author: "Alan", .....}, ......];
$scope.AuthorArray = ["sridhar", "Alan"];
$scope.matchMyCriteria = function() {
return function(item) {
return ($scope.AuthorArray.indexOf(item.author) > -1);
};
};
Es gibt eine andere Lösung für sie ist, und ich nehme an, es das gute zu sein.
In diesem Beispiel wird myFilter verwendet, um das Array von Elementen auf der Grundlage eines Arrays von Autoren zu filtern.
HTML:
<div ng-repeat="item in items | myFilter: AuthorArray">
{{item}}
</div>
JS:
app.filter('myFilter', function() {
return function(list, criteria) {
return list.filter(function(l) {
return (criteria.indexOf(l.author) > -1);
});
};
});
Es ist nicht klar, was Sie zu filtern versuchen. Wie sieht das Wertefeld aus, das Sie filtern möchten? Bitte geben Sie mehr Code/Kontext für Ihre Frage an. – ryanyuyu