Last updated
Last updated
Для распространённых задач форматирования текста во Vue используются фильтры. Они находят своё применение в двух местах: в mustache-интерполяциях и в выражениях v-bind
(последнее поддерживается в 2.1.0+). Фильтры добавляются в конце выражения JavaScript и отделяются вертикальной чертой:
Вы можете определить локальные фильтры в опциях компонента:
или определить фильтр глобально перед созданием экземпляра Vue:
Когда у глобального фильтра такое же имя как и у локального, то локальный фильтр будет приоритетнее.
Ниже приведён пример использования нашего фильтра capitalize
:
Функция фильтра всегда принимает значение выражения (результат предыдущей цепочки) в качестве первого аргумента. В этом примере функция фильтра capitalize
получит значение message
в качестве аргумента.
Фильтры можно объединять в цепочки:
В этом случае filterA
, определённый с одним аргументом, получит значение message
, а затем функция filterB
будет вызвана с результатом filterA
, переданным единственным аргументом в filterB
.
Фильтры являются JavaScript-функциями, и потому могут принимать параметры:
В данном случае filterA
определяется как функция с тремя аргументами. Значение message
будет передано первым аргументом. Простая строка 'arg1'
будет передана в filterA
вторым аргументом, а значение выражения arg2
— третьим.