il modello di modulo rivelatore JavaScript non può accedere alla variabile
-
23-12-2019 - |
Domanda
Sto implementazione del modello di moduli rivelatori in JavaScript e ha difficoltà a accedere alla variabile dichiarata in un altro script.Di seguito è riportato il mio codice.
Script1:
var SomeEventHandler = (function (){
var logSomeEvent = function(){...}
return {
trackEvent: logSomeEvent;
};
})();
.
Script2:
SomeEventHandler.trackEvent(); // This gives me undefined error.
.
In HTML, ho aggiunto script 1 prima dello script 2, quindi volevo sapere come posso accedere a SomeeventHandler nello script 2.
Soluzione
Ho notato che hai un punto e virgola nella notazione dell'oggetto.Chiave multipla: le proprietà del valore negli oggetti create con la notazione dell'oggetto sono separate da virgole, non virgolari.Inoltre, non è necessario il separatore se c'è solo un elemento.Ho rimosso il punto e virgola e funziona bene nel mio test.
var SomeEventHandler = (function (){
var logSomeEvent = function() { console.log('Cool stuff happened!'); }
return {
trackEvent: logSomeEvent
};
}());
// ...
SomeEventHandler.trackEvent(); // Cool stuff happened!
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow