Acceder a los filtros de VueJS desde el código Javascript

Introducción

Los filtros de Vue.js son muy útiles. Generalmente son utilizados sólo en la vista. Por ejemplo, si queremos filtrar moneda hacemos esto:

{{sueldo | currency}}

¿Pero qué pasa si queremos utilizar esos filtros en nuestro código javascript? recientemente me pasó que estaba generando un documento PDF con la magnífica librería jsPDF, pero para mostrar algunos montos necesitaba filtrarlos antes.

Así que me puse a pensar en cómo utilizar los filtros no sólo en la vista, sino también en la lógica. Y encontré la respuesta.

Utilizar filtros de VueJS en código Javascript

La respuesta viene del creador de este maravilloso framework. Una vez que hemos registrado nuestros filtros globalmente, podemos acceder a ellos desde this.$options.filters o desde Vue.options.filters.

Así que si tenemos un filtro llamado currency, podemos “importarlo” de la siguiente forma:

const {currency} = this.$options.filters;

Lo mismo para todos los demás filtros que hayamos registrado. Arriba estoy utilizando algo llamado desestructuración de objetos, o algo así. Pero sería lo mismo que escribir:

const currency = this.$options.filters.currency;

Finalmente, para utilizarlos, llamamos a la función y le pasamos argumentos:

let montoBonito = currency(monto);

En este caso fue para el filtro currency, pero podemos utilizarlo para cualquier filtro existente.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario