Spec-Zone.ru › Angular.js 1.5

Улучшить эту документацию Посмотреть исходный код фильтр

  1. фильтр в модуле ng

Выбирает подмножество элементов из array и возвращает его в виде нового массива.

Использование

В привязке шаблона HTML

{{ filter_expression | filter : expression : comparator : anyPropertyKey}}

В JavaScript

$filter('filter')(array, expression, comparator, anyPropertyKey)

Аргументы

Параметр Тип Подробности
массив Array

Исходный массив.

выражение stringObjectfunction()

Предикат, используемый для выбора элементов из array.

Может быть одним из:

  • string: Строка используется для сопоставления с содержимым array. Все строки или объекты со строковыми свойствами в array , которые соответствуют этой строке, будут возвращены. Это также относится к вложенным свойствам объектов. Предикат может быть инвертирован путём добавления префикса !.

  • Object: Объект шаблона может использоваться для фильтрации определенных свойств объектов, содержащихся в array. Например, предикат {name:"M", phone:"1"} вернёт массив элементов, которые имеют свойство name , содержащее "M", и свойство phone , содержащее "1". Специальное имя свойства ($ по умолчанию) может быть использовано (например, как в {$: "text"}), чтобы принять соответствие любому свойству объекта или его вложенным свойствам объекта. Это эквивалентно простому соответствию подстроке с string , как описано выше. Специальное имя свойства можно переопределить, используя параметр anyPropertyKey. Предикат может быть инвертирован путём добавления префикса !. Например, предикат {name: "!M"} вернёт массив элементов, которые имеют свойство name , не содержащее "M".

    Обратите внимание, что именованное свойство будет соответствовать только свойствам на одном уровне, а специальное свойство $ будет соответствовать свойствам на одном уровне или глубже. Например, элемент массива, подобный {name: {first: 'John', last: 'Doe'}} , не будет сопоставлен с {name: 'John'}, но будет сопоставлен с {$: 'John'}.

  • function(value, index, array): Функция-предикат может быть использована для написания произвольных фильтров. Функция вызывается для каждого элемента массива, со значениями элемента, его индекса и самого массива в качестве аргументов.

    Конечный результат — массив элементов, для которых предикат возвратил значение true.

компаратор
(необязательно)
function(actual, expected)truefalse

Компаратор, используемый для определения, должно ли ожидаемое значение (из выражения фильтра) и фактическое значение (из объекта в массиве) считаться совпадающими.

Может быть одним из:

  • function(actual, expected): Функция получит значение объекта и значение предиката для сравнения и должна вернуть true, если оба значения должны считаться равными.

  • true: Краткая запись для function(actual, expected) { return angular.equals(actual, expected)}. Это по существу строгое сравнение ожидаемого и фактического значений.

  • false: Краткая запись для функции, которая будет искать соответствие подстроке без учёта регистра. Примитивные значения преобразуются в строки. Объекты не сравниваются с примитивами, если у них нет пользовательского метода toString (например, объекты Date).

По умолчанию false.

anyPropertyKey
(необязательно)
string

Специальное имя свойства, которое соответствует любому свойству. По умолчанию $.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/filter/filter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API