То, что я пытаюсь сделать:
Im используя нг повтора директиву о ассоциативном массиве, который я хочу, чтобы отфильтровать. Встроенный угловой фильтр не работает с ассоциативными массивами/хэшами. Из-за этого я пытаюсь написать свой собственный фильтр (вдохновленный http://angularjs.de/artikel/angularjs-ng-repeat, он находится на немецком языке, но важный код ниже заголовка «Beispiel 2: Filtern von Hashes mittels eigenem Filter», что означает «Пример 2: Хранение фильтров с помощью ваш собственный фильтр ").
НГ-повтор:
tr ng-repeat="(key, machine) in machines | customFilter | orderObjectBy:'name':false"
примечание: orderObjectBy также customFilter.
Фильтр:
toolApp.filter('customFilter', [function(){
return function(machines){
var result = {};
angular.forEach(machines, function(machine, key){
/*if(machine.name.contains(filter)){
result[key] = machine;
}*/
//if(machine.name.contains("a")){
result[key] = machine;
//}
});
return result;
};
}]);
Фильтр работает с закодированного "фильтр-критериум". Но я хочу иметь текстовое поле над списком, в котором пользователь может ввести «фильтр-критерий». Моя проблема заключается в том, что я не знаю, как вставить это значение в фильтр. Я не очень много знаю в Интернете, и то, что я нашел, не работает для меня.
У кого-нибудь есть идея, как вставить значение другого, возможно, другого подхода.
Огромное спасибо за каждый ответ! Если вам нужна дополнительная информация, дайте мне знать! Я попытался удержать его:>.
Привет из Германии
Огромное спасибо за ваш ответ! :) Отлично работает – zois
Отличный ответ, решил мою проблему –