Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

245
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!