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

243
Vistas
cómo escribir un formulario de datos usando Clase, ¿por qué me da un error "No se pueden leer las propiedades de undefined (leyendo 'validar')"?

Estoy usando la configuración de vue3 y elementUI plus, la validación del formulario me molesta, el error es: "form.js?t=1640941515436:71 Uncaught (en promesa) TypeError: No se pueden leer las propiedades de undefined (leyendo 'validar')" .

el programa está bien cuando escribo el siguiente código:

 // form.js import { reactive, ref, unref } from 'vue' let formRef = ref(null) let formData = reactive(formData1) let rules = reactive(rules1) function valid() { let form = unref(formRef) return form.validate() } export { formRef, formData, rules, valid } // login.vue <script setup> import { formRef, formData, rules, valid } from './form' const submit = async () => { let validResult = await valid().catch((err) => { return err }) if (validResult === true) { }else { } }

en realidad, quiero modular todo el formulario, incluye el elemento html, pero es demasiado difícil para mí, así que solo uso Class en form.js, luego puedo usar Class en otro archivo, pero arrojó un error, la imagen del error es en el final.

"Código de clase:

 // form.js class Form { constructor(formData, rules) { this.formData = reactive(formData) this.rules = reactive(rules) this.formDom = ref() } valid() { let form = unref(this.formDom) return form.validate() } } export { Form } // Login.vue import { Form } from './form' let fromInstance = new Form(formData1, rules1) const submit = async () => { let validResult = await fromInstance.valid().catch((err) => { return err }) if (validResult === true) { }else { } }

imagen de error

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