Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

131
Vistas
directivas y métodos vue

I una directiva vue que abre una ventana modal,

 const modalOpen: DirectiveOptions = { bind(el: HTMLElement, binding: DirectiveBinding, vnode: any) { el.addEventListener('click', () => { vnode.context.$refs[binding.value].show = true; document.body.style.overflowY = 'hidden'; }) }, };

Esto funciona perfectamente, lo que ahora quiero hacer es cerrar el modelo desde el componente modal. Siento que tengo 2 opciones aquí,

El componente modal se ve así,

 <div class="modal" :class="{ 'modal--show': show }"> <div class="modal__background"></div> <div class="modal__content"> <div class="modal__header"> <button type="button">&times;</button> </div> <div class="modal__body"> <slot></slot> </div> </div>

y se usa así,

 <Modal ref="modal-1"> <p>Hello World, I am the modal 1</p> </Modal>

Lo que quiero hacer es cerrar el modal cuando el usuario hace clic en .modal__background o hace clic en el botón en .modal__header . Solo quería agregar v-close-modal a cada uno de esos elementos, pero la directiva no puede acceder a la referencia.

¿Hay alguna manera de obtener la referencia de los componentes? Intenté this.$refs en el gancho mounted() , pero solo recuperé un objeto prototipo.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda