Modèle de module révélant JavaScript ne peut pas accéder à la variable
-
23-12-2019 - |
Question
Je mettez en place le modèle de module révélateur dans JavaScript et que vous avez des difficultés à accéder à la variable déclarée dans un autre script.Ci-dessous mon code.
script1:
var SomeEventHandler = (function (){
var logSomeEvent = function(){...}
return {
trackEvent: logSomeEvent;
};
})();
script2:
SomeEventHandler.trackEvent(); // This gives me undefined error.
Dans le HTML, j'ai ajouté script 1 avant le script 2, alors je voulais savoir comment puis-je accéder à Sometventhandler dans le script 2.
La solution
J'ai remarqué que vous avez un point-virgule dans votre notation d'objet.Touche multiple: Les propriétés de la valeur dans les objets créés avec la notation d'objet sont séparées par des virgules, pas des points-virgules.De plus, vous n'avez pas besoin du séparateur s'il n'y a qu'un seul élément.J'ai enlevé le point-virgule et ça marche bien dans mes tests.
var SomeEventHandler = (function (){
var logSomeEvent = function() { console.log('Cool stuff happened!'); }
return {
trackEvent: logSomeEvent
};
}());
// ...
SomeEventHandler.trackEvent(); // Cool stuff happened!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow