El patrón de módulo revelador JavaScript no puede acceder a la variable
-
23-12-2019 - |
Pregunta
Estoy implementando el patrón de módulo revelador en JavaScript y teniendo dificultades para acceder a la variable declarada en otro script.Abajo es mi código.
Script1:
var SomeEventHandler = (function (){
var logSomeEvent = function(){...}
return {
trackEvent: logSomeEvent;
};
})();
Script2:
SomeEventHandler.trackEvent(); // This gives me undefined error.
En el HTML, he agregado Script 1 antes del script 2, así que quería saber cómo puedo acceder a SomeEventhandler en Script 2.
Solución
Me di cuenta de que tienes un punto y coma en tu notación de objeto.Múltiples claves: las propiedades de valor en los objetos creados con el objeto-notación están separados por comas, no como punto y coma.Además, no necesita el separador si solo hay un elemento.Quizé el punto y coma y funciona bien en mis pruebas.
var SomeEventHandler = (function (){
var logSomeEvent = function() { console.log('Cool stuff happened!'); }
return {
trackEvent: logSomeEvent
};
}());
// ...
SomeEventHandler.trackEvent(); // Cool stuff happened!
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow