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

253
Vistas
Referencia del elemento Vue.js en el atributo

Tengo el siguiente código:

 <input type="text" @input="disableField($event.target)" :disabled="isFieldDisabled(????)" />

Quiero pasar al método isFieldDisabled el mismo valor que obtengo en $event.target: la referencia del elemento. No puedo encontrar la manera de cómo hacer esto. Sé que podría usar :ref pero en este caso necesito hacerlo como se muestra arriba.

Este es solo el caso de uso de ejemplo. Sé que para deshabilitar el campo puedo hacerlo mejor, pero quiero mostrar el problema de la manera más simple.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto no es posible de la forma en que lo pides.

  • La forma en que Vue funciona con VNodes, el elemento no existirá la primera vez que intente evaluar disabled : Vue evalúa las propiedades para determinar cómo debe verse el DOM y luego crea los elementos para que coincidan. Como aquí :

    Tenga en cuenta que solo puede acceder a la referencia después de montar el componente . Si intenta acceder a input en una expresión de plantilla, será null en el primer procesamiento. ¡Esto se debe a que el elemento no existe hasta después del primer renderizado!

  • Con los componentes asincrónicos, los atributos deberán tener valores bien definidos incluso si aún no hay un componente para representar, y mucho menos elementos bien definidos para posicionar allí.
  • Con los componentes de fragmento, nunca habrá un único elemento HTML con el que interactuar, porque el componente representa varios elementos HTML de nivel superior.

Los eventos no tienen que seguir las mismas reglas, porque está definiendo controladores: los eventos DOM provendrán de una fuente y se aplicarán a un destino, y los componentes ausentes no emiten eventos. Incluso entonces, la sintaxis le da acceso a $event , no a $el para una referencia directa a un elemento.

La forma más sencilla es usar una ref para llegar al objeto después de que Vue lo cree, sujeto a las mismas reglas de ref nulas en la primera representación anteriores. Si necesita pasar un controlador a un método multipropósito con la forma de getFoo(argument) , es posible que su argumento deba ser una cadena o una clave de enumeración que defina, no el elemento en sí.

about 4 years ago · Juan Pablo Isaza Denunciar
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