Ich bin wirklich neu zu eckig, so dass dies super einfach sein kann, aber ich kann nicht scheinen, es zur Arbeit zu bekommen. Ich habe eine App mit einem Suchfeld, das die Ergebnisse aktiv filtern muss, wenn ein Benutzer eingibt. Alle meine Daten befinden sich im Objekt searchResults. Nichts passiert, wenn ich das Textfeld eintippe. Was vermisse ich? Vielen Dank im Voraus für Ihre Hilfe.Angular js ein Objekt durch Textbox Eingang filtern
<div>
<input ng-model="query" name="search" id="search" type="text" placeholder="search by product or category">
<ul id="filteredResults" ng-if="results.length">
<li ng-repeat="result in results | filteredSearchFilter | limitTo: 10">{{result.name}}</li>
</ul>
</div>
filteredSearch.filter.js
module.exports = function() {
return function(data, keys, query) {
results = [];
if(!query){
return data;
} else {
angular.forEach(data, function(obj){
var matched = false;
angular.forEach(keys, function(key){
if(obj[key]){
// match values using angular's built-in filter
if ($filter('filter')([obj[key]], query).length > 0){
// don't add objects to results twice if multiple
// keys have values that match query
if(!matched) {
results.push(obj);
}
matched = true;
}
}
});
});
}
return results;
};
I erkennen Jetzt muss ich das Objekt in ein Array konvertieren. Ich brauche nur den Namenschlüssel. Irgendwelche Ideen? – luigilife