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.

Était-ce utile?

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
scroll top