Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

181
Visualizações
¿Cómo acceder a las propiedades en otro módulo en JavaScript?

Tengo un módulo llamado LoadingBar:

 ... export default class LoadingBar { constructor() { ... const overlayGeometry = new THREE.PlaneGeometry(2, 2, 1, 1) const overlayMaterial = new THREE.ShaderMaterial ({ //wireframe: true, transparent: true, uniforms: { uAlpha: {value: 0.5} }, vertexShader: ` void main() { gl_Position = vec4(position, 1.0); } `, fragmentShader: ` uniform float uAlpha; void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, uAlpha); } ` }) const overlay = new THREE.Mesh(overlayGeometry, overlayMaterial) this.scene.add(overlay) } }

y otro llamado Recursos:

 import LoadingBar from '../World/LoadingBar.js' export default class Resources extends EventEmitter { constructor(sources) { super() this.sources = sources ... this.LoadingBar = new LoadingBar() } setLoaders() { const loadingManager = new THREE.LoadingManager( // Loaded () => { ***gsap.to(overlayMaterial.uniforms.uAlpha, { duration: 3, value: 1 })*** }, // Progress () => { console.log('progress') } ) this.gltfLoader = new GLTFLoader(loadingManager) this.loaders = {} this.loaders.gltfLoader = new GLTFLoader() this.loaders.textureLoader = new THREE.TextureLoader() this.loaders.cubeTextureLoader = new THREE.CubeTextureLoader(loadingManager) }

A pesar de importarlo, aparece un error que dice que el overlay material is not defined . No puedo ver por qué no puede acceder al módulo de la barra de carga. He eliminado tanto código innecesario como creo que puedo sin que sea imposible responder. PONGO ASTERIKS donde en la línea que da el error.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La variable overlayMaterial solo está disponible localmente dentro de la clase LoadingBar. Si desea que esté disponible en otro lugar, deberá definirlo fuera de la clase LoadingBar (no le gusta que lo esté, no está claro en su ejemplo...) y exportarlo por separado:

export const overlayMaterial = [your code here]

Luego puede importar en su otro módulo: import {overlayMaterial} from "../World/LoadingBar.js"

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda