- 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
Mixins
Lo esencial
Los mixins son una forma flexible de distribuir funcionalidades reutilizables para componentes de Vue. Un objeto mixin puede contener cualquier opción de componente. Cuando un componente usa un mixin, todas las opciones en el mixins se “mezclan” en las propias opciones del componente.
Ejemplo:
// definir un objeto mixin |
Opción de Fusión
Cuando un mixin y el componente en sí contienen opciones superpuestas, se “fusionarán” utilizando estrategias apropiadas.
Por ejemplo, los objetos de datos se someten a una fusión superficial (profundidad de una propiedad), y los datos del componente tienen prioridad en caso de conflictos.
var mixin = { |
Las funciones hook se combinan con el mismo nombre en una matriz para que se llame a todas ellas. Los hooks del mixin se llamarán antes de los hooks propios del componente.
var mixin = { |
Las opciones que esperan valores de objeto, por ejemplo, methods
, components
and directives
, se fusionarán en el mismo objeto. Las opciones de los componentes seguirán teniendo prioridad en caso de que haya algún conflicto en las claves de estos objetos:
var mixin = { |
Observe que las mismas estrategias de fusión se utilizan en Vue.extend()
.
Mixin Global
También puede aplicar un mixin globalmente. Utilícelo con precaución! Una vez que aplique un mixin globalmente, afectará a cada instancia de Vue creada posteriormente. Cuando se usa correctamente, se puede usar para inyectar lógica de procesamiento para opciones personalizadas:
// inyectar un controlador para la opción personalizada `myOption` |
Utilice los mixins globales lo menos posible y con cuidado, ya que afecta a cada instancia creada de Vue, incluidos los componentes de terceros. En la mayoría de los casos, solo debe usarlos para el manejo de opciones personalizadas como se muestra en el ejemplo anterior. También es buena idea dejarlos disponibles como Plugins para evitar su uso duplicado.
Combinación de Opciones Personalizadas
Cuando las opciones personalizadas se combinan, utilizan la estrategia predeterminada que sobrescribe el valor existente. Si desea que una opción personalizada se fusione usando lógica personalizada, debe agregar una función en Vue.config.optionMergeStrategies
:
Vue.config.optionMergeStrategies.myOption = function (toVal, fromVal) { |
Para la mayoría de las opciones basadas en objetos, puede usar la misma estrategia que usa methods
:
var strategies = Vue.config.optionMergeStrategies |
Un ejemplo más avanzado se puede encontrar en esta estrategia de fusión Vuex 1.x:
const merge = Vue.config.optionMergeStrategies.computed |