Tengo una instancia de objeto que utilizan varios módulos diferentes en mi código. La instancia en sí se edita durante diferentes eventos, luego los módulos la usan para volver a dibujar la página.
Por ejemplo:
// index.js import populateProjects from 'populateProjects.js' import populateItems from 'populateItems.js' let projects = new projectList() // Projects in index.js's scope projects.addProject('Project 1') projects.getProject(0).addItem('Item 1') // Note how I need to pass the 'projects' into the modules below populateProjects(projects) populateItems(projects) //I would prefer both modules to have access to the same instance of 'projects' so that I don't need to pass it into them: populateProjects() //'projects' is imported in the modules populateItems() //regardless of where they're calledEn este momento, sigo pasándolo a las funciones del módulo cuando se les llama, pero eso significa que siempre debo tenerlo en el alcance del script que llama al módulo. Puedo evitar esto usando variables globales, pero prefiero no contaminar el espacio de nombres para otros módulos que no dependen de él.
¿Hay alguna manera de hacer que esta instancia sea accesible en los módulos específicos que la necesitan y aún así poder editarla? ¿Quizás usando importar?