# Filters
Serve apenas para formatar uma variavel
Filtros são permitidos em interpolações mustache e expressões v-bind
<template>
<div>
<!-- em interpolações de texto -->
<p>{{ nome | capitalize }}</p>
<!-- em interligações de atributos -->
<div v-bind:id="rawId | formatId"></div>
<!-- filtros encadeados, o resultado do primeiro vai para o seguinte e assim por diante -->
<p>{{ nome | filtroA | filtroB | filtroC }}</p>
<!-- Podem receber argumentos -->
<!-- Ela vai receber 3 argumentos, o nome como 1º, a string args1 como 2º e 3º o valor da variavel arg2 -->
<p>{{ nome | filtroW('arg1', arg2) }}</p>
</div>
</template>
<script>
export default {
name: 'App',
data () {
return {
nome: 'Tonhão Santos'
}
},
filters: {
capitalize (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
},
filtroW (default, arg1, arg2) {
...
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Um uso comum seria nada transformar texto em minusculo ou maiusculos.
Uma informacao muito importante é que o this não pode ser acessado de dentro do filters, ele pode não informar nenhum erro como não fazer a acao esperada.
Os filtros são projetados principalmente para fazer transformacões em textos. Para transformações complexas deveremos usar computeds.