кодесурса
«Вью

фильтры

script1adsense2code
script1adsense3code

Фильтры - это функциональность, предоставляемая Vue.js, которая позволяет нам определять фильтры, которые можно использовать для применения обычного форматирования текста. Фильтры можно использовать в двух местах: выражения v-bind и интерполяция усов (первое поддерживается в 2.1.0+).

Фильтры не изменяют данные компонента, они только влияют. Мы должны добавить фильтры в конец выражения JavaScript, это обозначается символом «труба»:

<!-- in mustaches -->
{{ message | capitalize }}
<!-- in v-bind -->
<div v-bind:id="rawId | formatId"></div>

Мы можем определить локальные фильтры в опциях компонента:

filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

Или мы можем определить фильтр глобально перед созданием экземпляра Vue:

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})
new Vue({
  // ...
})

Локальный фильтр предпочтителен, если глобальный фильтр имеет то же имя, что и локальный фильтр.

Функция фильтра всегда будет получать значение выражения (результат предыдущей цепочки) в качестве первого аргумента. В приведенном выше примере функция фильтра с заглавными буквами получает значение сообщения в качестве аргумента.

Мы можем связать фильтры:

{{ message | filterA | filterB }}

В таких случаях filterA, которое определяется простым аргументом, получит значение сообщения выше, а затем будет вызвана функция фильтра с результатом filterA, переданным в единственный аргумент filterB.

Поскольку фильтры являются функциями JavaScript, они также могут принимать аргументы:

{{ message | filterA('arg1', arg2) }}

В приведенном выше примере filterA определяется как функция, принимающая три аргумента. Значение сообщения будет передано в первый аргумент. Простая строка 'arg1' будет передана в filterA в качестве второго аргумента, а значение arg2 будет оценено и передано в качестве третьего аргумента.

Расширенные фильтры могут принимать параметры, используя обычный синтаксис параметров функции:

HTML

<template>
  <p>Hi {{ name | prepend('Mr.') }}</p>
</template>

JS

<script>
export default {
  data() {
    return {
      name: 'Room'
    }
  },
  filters: {
    prepend: (name, prefix) => {
      return `${prefix} ${name}`
    }
  }
}
</script>

Примечание: мы должны избегать использования функции стрелки в вычисляемых свойствах и методах вообще, потому что они будут ссылаться на это для доступа к данным компонента, однако в приведенном выше случае фильтр не нуждается в доступе к this, но получает все необходимые данные через параметры следовательно, мы можем безопасно использовать более простой синтаксис функции стрелки.

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code