- Aprender
-
Ecosistema
Ayuda
Herramientas
Librerías Oficiales
Noticias
Lista de Recursos
- Equipo
- Apoyar Vue
- Traducciones
Guía
Conocimientos Esenciales
- Instalación
- Introducción
- La instancia Vue
- Sintaxis de Template
- Propiedades Computadas y Observadores
- Enlace Clases y Estilos
- Renderización Condicional
- Renderizado de lista
- Manejo de eventos
- Binding en Formularios
- Conceptos Básicos de Componentes
Transiciones & Animaciones
- Efectos de Transición
Componentes en Profundidad
- Registro de Componente
- Propiedades
- Eventos personalizados
- Slots
- Componentes Dinámicos & Asíncronos
- Handling Edge Cases
- Transiciones de estado
Reusabilidad & Composición
- Mixins
- Directivas Personalizadas
- Funciones de renderizado & JSX
- Plugins
- Filtros
- Publicación en Producción
Herramientas
- Componentes de un Solo Archivo (Single File Components)
- Testing Unitario
- Soporte TypeScript
Escalando la Aplicación
- Enrutamiento
- Administración del Estado
- Renderizado del lado de Servidor
Funcionamiento Interno
- Reactividad en profundidad
Migraciones
- Migración desde Vue 1.x
- Migración desde Vue Router 0.7.x
- Migración de Vuex 0.6.x a 1.0
Meta Documentación
- Comparación con otros frameworks
- Únete a la comunidad Vue.js!
- Conozca al equipo
Transiciones de estado
El sistema de transición de Vue ofrece muchas formas sencillas de animar la entrada, salida y listas, pero ¿qué hay de animar sus propios datos? Por ejemplo:
- números y cálculos
- colores mostrados
- las posiciones de los nodos SVG
- los tamaños y otras propiedades de los elementos.
Todos estos ya están almacenados como números sin procesar o se pueden convertir en números. Una vez que hagamos eso, podemos animar estos cambios de estado utilizando librerías de terceros para interpolar el estado, en combinación con la reactividad y los sistemas de componentes de Vue.
Animando el estado con los Watchers
Los Watchers nos permiten animar los cambios de cualquier propiedad numérica en otra propiedad. Esto puede parecer complicado en el resumen, así que vamos a ver un ejemplo usando GreenSock:
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js"></script> |
new Vue({ |
{{ animatedNumber }}
Cuando actualiza el número, el cambio se anima debajo de la entrada. Esto lo convierte en una buena demostración, pero ¿qué pasa con algo que no se almacena directamente como un número, como cualquier color CSS válido, por ejemplo? Así es como podríamos lograr esto con Tween.js y Color.js:
<script src="https://cdn.jsdelivr.net/npm/tween.js@16.3.4"></script> |
var Color = net.brehaut.Color |
.example-7-color-preview { |
Vista previa:
{{ tweenedCSSColor }}
Transiciones de estado dinámico
Al igual que con los componentes de transición de Vue, las transiciones de estado de respaldo de datos se pueden actualizar en tiempo real, lo que es especialmente útil para la creación de prototipos. Incluso utilizando un simple polígono SVG, puedes lograr muchos efectos que serían difíciles de concebir hasta que hayas jugado un poco con las variables.
Vea este fiddle para el código completo detrás de la demostración anterior.
Organizando transiciones en componentes
La gestión de muchas transiciones de estado puede aumentar rápidamente la complejidad de una instancia o componente de Vue. Afortunadamente, muchas animaciones se pueden extraer en componentes secundarios dedicados. Hagamos esto con el número entero animado de nuestro ejemplo anterior:
<script src="https://cdn.jsdelivr.net/npm/tween.js@16.3.4"></script> |
// Esta compleja lógica de interpolación ahora puede reutilizarse entre |
Dentro de los componentes hijos, podemos usar cualquier combinación de estrategias de transición que se hayan cubierto en esta página, junto con las ofrecidas por el sistema de transición incorporado de Vue. Juntos, hay muy pocos límites a lo que se puede lograr.
Trayendo los diseños a la vida
Animar, según una definición, significa dar vida. Desafortunadamente, cuando los diseñadores crean iconos, logotipos y mascotas, por lo general se entregan como imágenes o SVG estáticos. Entonces, aunque el octocat de GitHub, el pájaro de Twitter y muchos otros logotipos se parecen a criaturas vivientes, en realidad no parecen estar vivos.
Vue puede ayudar. Dado que los SVG son solo datos, solo necesitamos ejemplos de cómo se ven estas criaturas cuando están excitados, pensando o alarmados. Entonces Vue puede ayudar a la transición entre estos estados, haciendo que sus páginas de bienvenida, indicadores de carga y notificaciones sean más convincentes desde el punto de vista emocional.
Sarah Drasner demuestra esto en la siguiente demostración, utilizando una combinación de cambios de estado programados e interactivos:
Vea Wall-E controlado-por-Vue por Sarah Drasner (@sdras) en CodePen.