Filtros en Vue: Formateo de Duraciones de Canciones en Componentes
Clase 35 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
- 3

Herramientas esenciales para desarrollar con BioJS y NodeJS
06:13 - 4

Creación de una Aplicación Vue.js con CLI y Webpack Simple
12:50 - 5

Configuración y uso de Webpack en proyectos JavaScript
10:38 - 6

Configuración y uso de Babel para compatibilidad JavaScript
05:06 - 7

Configuración de eSlimt con EstándarJS y Webpack
15:34 - 8

Integración de SaaS y Bulma en Aplicaciones Vue.js
06:18 - 9

Configuración de Pag para optimizar el workflow de desarrollo HTML
04:23 - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 - 11
Creación de Vistas con Mockups y Vue.js
00:32
- 12

Expresiones en Vue: Manipulación Dinámica del DOM
03:49 - 13

Directivas de Vue: Uso y Funciones Principales
06:22 - 14

Data Binding y Directivas en Vue: bmodel y bevined
04:11 - 15

Propiedades Computadas en JavaScript: Creación y Uso Práctico
04:13 - 16

Uso de Watchers en Biomóvil para Gestión de Cambios de Propiedades
02:25 - 17

Manipulación de Eventos y Métodos en Aplicaciones Web
06:12 - 18

Creación de Interfaz con Vue.js y Framework CSS Bulma
19:03 - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00
- 23

Creación y Registro de Componentes en Vue.js
08:46 - 24

Creación de Componentes en Vue.js con Bulma para Platzi Music
09:50 - 25

Reactividad y Virtual DOM en Vue.js: Conceptos y Soluciones
06:14 - 26

Ciclo de Vida de Componentes en Vue.js: Hooks y Ejecución de Código
05:38 - 27

Comunicación entre Componentes en Vue.js: Props y Eventos
23:27 - 28

Comunicación entre Componentes en Vue: Eventos de Hijo a Padre
12:04 - 29

Uso de Slots para Inyección Dinámica de HTML en Componentes Vue
13:42 - 30

Comunicación entre Componentes Vue con Event Bus y Plugins
19:19
- 39

Gestión de Estados Centralizados con la Librería BuX
03:41 - 40

Integración de VueX y arquitectura Flux en Vue.js
17:32 - 41

Mutaciones en Vuex: Gestión y Actualización del Estado Reactivo
08:16 - 42

Uso de Getters en Vuex para Acceso Personalizado de Estado
07:35 - 43

Acciones asincrónicas en Vuex: cómo implementarlas y utilizarlas
07:55 - 44

Integración de VueX y Babel en PlatziMusic
26:37
¿Qué son los filtros en Vue.js y por qué son importantes?
Los filtros en Vue.js son herramientas poderosas que te permiten modificar la presentación de los datos en la vista sin alterar su valor real en el código. Imagina que tienes un valor numérico en tu aplicación, como el número uno, pero deseas mostrarlo como "1€" en pantalla. Utilizando un filtro, puedes lograr esta conversión visual dejando que el valor original siga siendo el mismo, asegurando que los cálculos y manipulaciones de datos no se vean afectados.
Los filtros son especialmente valiosos cuando el valor que necesitas mostrar es diferente al que necesitas para realizar operaciones lógicas como cálculos matemáticos. Así, mientras conservas los números para sumar o restar, puedes presentarlos con formato, como añadir comas, puntos o símbolos monetarios para mejorar la legibilidad en la interfaz del usuario.
¿Cómo se instalan y utilizan los filtros en Vue.js?
Los filtros, al igual que los componentes y las directivas, pueden ser instalados de manera global o local. Si planeas utilizar un filtro varias veces a lo largo de la aplicación, la instalación global es la opción más eficiente.
Paso a paso: Creación de un filtro global
-
Creación del archivo de filtro
Aplicaremos un filtro para convertir la duración de canciones de milisegundos a minutos. Para empezar, crea una carpeta llamada
filtersdentro de tu directoriosrcy dentro de ella, un archivo JavaScript que podría llamarseMS2M.js. -
Definición del filtro
Este archivo contendrá nuestro filtro. Primero, definimos un objeto
filteroMS2Mque incluirá una función de instalación global:const MS2M = {}; MS2M.install = function(Vue) { Vue.filter('MS2MM', (val) => { return convertMsToMM(val); // Convertir milisegundos a minutos }); } export default MS2M; -
Función de conversión
Define la función
convertMsToMM(val)que realice la conversión de tiempo:function convertMsToMM(milliseconds) { const minutes = Math.floor(milliseconds / 60000); const seconds = ((milliseconds % 60000) / 1000).toFixed(0); return minutes + ":" + (seconds < 10 ? "0" : "") + seconds; } -
Instalación del filtro en Vue
En tu archivo principal
main.js, importa y usa el filtro:import MS2M from '@filters/MS2M'; Vue.use(MS2M);
Aplicación del filtro en los componentes
Una vez instalado globalmente, puedes usar el filtro en cualquier parte de tu aplicación. Para aplicarlo, simplemente utilizas el operador |, conocido como "pipe", dentro de una expresión Vue:
<span>{{ duration_ms | MS2MM }}</span>
¿Por qué Vue.js ya no incluye filtros nativos?
En las versiones más recientes de Vue.js, se ha eliminado el soporte para filtros nativos debido a la creciente capacidad de manejar expresiones directamente en las plantillas de Vue. Esto permite que los desarrolladores escriban funciones más robustas y personalizadas sin comprometer el rendimiento y funcionalidad. A pesar de esto, la creación e implementación de filtros personalizados sigue siendo una práctica común y efectiva para formatear los datos de la manera que mejor se adapte a tus necesidades de interfaz.
¡Sigue explorando y experimentando con Vue.js! La capacidad de personalizar y manipular datos visualmente sin afectar su integridad es solo una de las muchas ventajas que te ofrece este potente framework.