revelando módulo padrão de java script não pode acessar a variável de
-
23-12-2019 - |
Pergunta
Estou implementando o Revelando Módulo padrão em JavaScript e ter dificuldade em aceder a uma variável declarada em outro script.Abaixo está o meu código.
Script1:
var SomeEventHandler = (function (){
var logSomeEvent = function(){...}
return {
trackEvent: logSomeEvent;
};
})();
Script2:
SomeEventHandler.trackEvent(); // This gives me undefined error.
No HTML, eu adicionei o script 1 antes de script 2, então eu queria saber como posso ter acesso SomeEventHandler no script 2.
Solução
Eu notei que você tem um ponto-e-vírgula no seu objecto de notação.Vários chave:valor de propriedades de objetos criados com o objecto de notação são separados por vírgulas, ponto-e-vírgula não.Além disso, você não precisa do separador se há apenas um elemento.Tirei o ponto-e-vírgula e ele funciona muito bem no meu teste.
var SomeEventHandler = (function (){
var logSomeEvent = function() { console.log('Cool stuff happened!'); }
return {
trackEvent: logSomeEvent
};
}());
// ...
SomeEventHandler.trackEvent(); // Cool stuff happened!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow