У меня есть окно поиска, которое принимает ряд терминов, разделенных пробелами, которые разбиваются на массив, используя string.split(' ')
. Есть ли способ применить произвольное и потенциально большое количество фильтров из этого массива?AngularJS Фильтрация произвольным числом фильтров
ответ
Подобно Тада, но на самом деле создать модуль пользовательского фильтра, а не загромождать контроллер. Вот как это работает для меня:
<input type="text" ng-model="query">
<li ng-repeat="object in objects | filterFunction:query"> {{object.state}}
.filter('filterFunction', function() {
return function (objects, query) {
// objects is the array being filtered
// query is the value you passed in
array = query.split(' ');
for (var i = 0, len = objects.length; i < len; i++) {
// filter the crap out of these objects
}
}
});
Это сработало отлично. Спасибо. –
Прямо на. Удачи, мой человек. –
Я думаю, что это, где вам нужно будет использовать функцию предиката фильтра вместо строки фильтра ...
как это (псевдокод):
<!--html-->
<ul>
<li ng-repeat="object in objects | filter:filterFunction">
{{object.description}}
</li>
</ul>
<!-- controller -->
$scope.objects = [ your data here ];
$scope.filterFunction = function(searchVal) {
// write code that returns true or false depending
// on whether or not after you split searchVal any
// of the elements are in your data
}
Я не пробовал , но об этом говорится в документации.
-Thad
большой мульти-фильтр здесь:
https://gist.github.com/i8ramin/5825377
Угловая JS фильтр, который ведет себя так же, как встроенный фильтр один, но позволяет фильтровать с несколькими значениями , пространство разделено. Например, «большой оранжевый круглый»
- 1. Условное с произвольным числом условий
- 2. инициализация указателя с произвольным числом
- 3. Django Admin - Фильтрация фильтров
- 4. фильтрация списков python-фильтров
- 5. Умножить произвольное число матриц произвольным числом раз
- 6. Дублируйте массив произвольным числом раз (javascript)
- 7. Javascripts - Автоматическое обновление с произвольным числом
- 8. Наследование классов с произвольным числом ** kwargs?
- 9. Выбрать элементы массива с произвольным числом критериев
- 10. Функция с произвольным числом аргументов в F #
- 11. Как разобрать CFG с произвольным числом соседей?
- 12. Python itertools.product с произвольным числом множеств
- 13. Провайдер фильтрации фильтров, фильтрация Курсор
- 14. фильтров разных списки, созданные нг-повторы (AngularJS)
- 15. Фильтрация фильтров пользовательских фильтров DataTables - как удалить запятые из цифр?
- 16. Angularjs, массив фильтров массивом
- 17. Множество фильтров AngularJS
- 18. Накопительный массив фильтров Angularjs
- 19. Таблица фильтров AngularJS: $ http.get
- 20. контента Фильтрация UITableView на основе применяемых фильтров
- 21. Фильтрация SQL-запроса с использованием предопределенных фильтров
- 22. Разделить строку с произвольным числом запятых и пробелов
- 23. Просмотры в Django с произвольным числом параметров URL
- 24. Шаблон для '.' разделенные слова с произвольным числом пробелов
- 25. Python, Matplotlib: Suptitle с произвольным числом вертикальных фигур
- 26. Поиск узла в дереве узлов с произвольным числом детей
- 27. Создание модели python lmfit с произвольным числом параметров
- 28. Почему эта функция сравнивается с произвольным числом как нулевая проверка?
- 29. Нелинейные наименьших квадратов с произвольным числом подгоночных параметров в R
- 30. Площадь между кривыми с произвольным числом пересечений в MATLAB
Итак, массив будет определять, какие фильтры применяются? Не могли бы вы попытаться предоставить более подробную информацию? Возможно, пример того, что вы пытаетесь получить? Вы еще что-нибудь пробовали? –
Если у меня есть поисковый запрос «john jacob california», я бы хотел разбить эту строку на массив, содержащий «john», «jacob» и «california». Я хочу, чтобы каждый из этих элементов в массиве был фильтром. Но я не гарантирую, что у меня будет только три термина каждый раз, возможно, может быть какое-то количество терминов, и я хочу быть в состоянии поддержать это. Я определил десять фильтров, которые разделяются, но это не так динамично или масштабируемо, как хотелось бы. –