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

179
Vistas
si no se dispara dentro de la matriz de objetos

La matriz de objetos no ejecuta el "si" cuando llama a un método con forEach, pero cuando muevo el si dentro de forEach funciona, estoy tratando de averiguar por qué no se activa el si dentro del objeto cuando ejecuta el forEach.

Hay una var (responseFlag) con el valor predeterminado (falso), por lo que si necesita cambiar el procesamiento html, simplemente cámbielo (verdadero/falso) cuando se haga clic en el botón.

 var responseFlag = false, targetRender = document.getElementById('targethtml'), templateTrue = '<h2>true</h2>', templateFalse = '<h2>false</h2>'; // objDef = { "objDefs" : [ { "UIhtml": responseFlag == true ? templateTrue : templateFalse // does not works // "UIhtml": responseFlag // this works } ] }; // UI_exc = { outputResult: function() { objDef.objDefs.forEach(function(key, value){ targetRender.innerHTML = // responseFlag == true ? templateTrue : templateFalse // this works key.UIhtml // does not works console.log(responseFlag) }); }, clickAction: function() { document.getElementById('goRender').addEventListener("click", function(){ responseFlag = true // console.log(responseFlag); UI_exc.outputResult() }); } }; UI_exc.clickAction();
 <button id="goRender">Click</button> <div id="targethtml">[ N ]</div>

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Supongo que el problema es que el objeto se inicializa y la propiedad UIhtml se asigna allí, creo que debería cambiar UIhtml a una función y luego llamarlo:

 ... = key.UIhtml() console.log(responseFlag)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Al crear objetos literales, las propiedades declaradas no son una cadena, sino una referencia a algún valor, por ejemplo, cadenas, números, valores booleanos, objetos...

Cambie "UIhtml" a UIhtml.

Lea esta documentación para obtener más información: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object

about 4 years ago · Juan Pablo Isaza Denunciar
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