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

269
Views
Módulos de CommonJS JavaScript: pasar datos a funciones principales

Uso de módulos JavaScript de CommonJS. Tengo un módulo que no puedo editar ni controlar. Llamo a esto el módulo principal.

Quiero aprovechar la funcionalidad de los padres con características adicionales. Algunas de estas funciones secundarias necesitan usar las funciones en el elemento principal. Así que necesito pasar datos al padre y hacer que se ejecute como si fuera parte del módulo principal. Se exporta todo el padre.

Padre

 function ParentModule () { DefaultElement.setStatus = function (status, block) { var statusBlock = block.querySelector('.' + this.statusBlock) var statusText = status ? 'Available' : 'Out of Stock'; statusBlock.innerHTML = statusText; } }

Niño

 function ChildModule () { UpdatedElement.update = function (el) { var selected = document.getElementById(el) var block = this.getBlock(selected) window.ParentModule.DefaultElement.setStatus(true, block); } }

Error (esperado)

 Uncaught TypeError: Cannot set properties of null (setting 'innerHTML')

¿Cuál es la sintaxis o patrón para esto?

Llamar a la función relevante dentro del módulo secundario simplemente provoca un error. Según tengo entendido, esto es lo esperado: como el módulo secundario importa la función principal, se ejecuta dentro del elemento secundario, por lo que no tiene acceso a los mismos datos.

En lugar de importar al elemento secundario, ¿hay alguna forma de que el módulo secundario se comporte como si fuera un solo archivo? ¿O cómo puedo pasar datos al padre y hacer que se comporte como si siempre hubiera sido parte del padre?

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!