Чтобы создать filter
более чем одним свойством объекта, вы можете использовать filter
framework filter.
В привязке шаблона HTML {{filter_expression |фильтр: выражение: компаратор: anyPropertyKey}}.Где expression
может быть string
, Object
или function
.
Согласно официальной документации
Объект: Объект шаблона может использоваться для фильтрации определенных свойств объектов, содержащихся в массиве.Например, предикат {name: "M", phone: "1"} вернет массив элементов с именем свойства, содержащим "M", и свойством phone, содержащим "1".Специальное имя свойства (по умолчанию $) можно использовать (например, как в {$: "text"}), чтобы принять совпадение с любым свойством объекта или его вложенными объектными свойствами.
дляСоздайте фильтр по свойствам City
и Language
, просто используйте:
<md-option
ng-value="user"
ng-repeat="user in users | filter: {City:searchTerm, Language: searchTerm }">
{{user.city}} {{user.language}}
</md-option>
, также вы можете использовать параметр function
для решения вашей проблемы
function (значение, индекс, массив): Функция предиката может использоваться для записи произвольных фильтров.Функция вызывается для каждого элемента массива, с элементом, его индексом и самим массивом в качестве аргументов.
Окончательный результат - это массив тех элементов, для которых предикат вернул true.
просто напишите функцию, в которой значение фильтра основано на вашем поисковом запросе