Comment puis-je appeler une fonction YUI3 de base à partir d'une fonction JavaScript normale?

StackOverflow https://stackoverflow.com/questions/3019805

  •  26-09-2019
  •  | 
  •  

Question

Je voudrais appeler une simple fonction de YUI3 à partir d'une fonction JavaScript. Voici un code qui fait ce que je veux dans un très bavard façon:

function changeContent (message) {
    YUI().use("node", function(Y) {
        Y.all('#content-div').setContent(message);
    });
}

Y at-il une meilleure façon de le faire?

NOTE: Je ne veux pas attacher cette fonction à tout événement, je veux juste une fonction changeContent globale () disponible

.
Était-ce utile?

La solution

Si vous voulez que l'API d'exister en dehors de la YUI () utilisation. (... fonction (Y) {/ * bac à sable * /}), vous pouvez saisir l'instance retournée de YUI ().

(function () { // to prevent extra global, we wrap in a function
    var Y = YUI().use('node');

    function changeContent(message) {
        Y.one('#content-div').setContent(message);
    }

    ...
})();

Sachez qu'il ya une condition de course ici si vous utilisez le fichier de démarrage (Yui-min.js) et dynamique chargeur pour tirer dans les autres modules. changeContent pourrait être appelé avant que l'API Node est chargé et ajouté à Y. Vous pouvez éviter cela en utilisant un script combo avant. Vous pouvez obtenir le script combo url de le YUI 3 Configurator . Il y a une pénalité de performance pour le chargement des modules d'une manière de blocage à l'avant. Vous pouvez ou ne pas remarquer dans votre application.

Autres conseils

Vous pouvez faire comme ceci:

(function(){
    YUI().use("node", function(Y) {
         APP = {
    changeContent: function(message){
        Y.all('.content-div').setContent(message);      
    }
         };
    });
})();

Ensuite, vous pouvez appeler changeContent en appelant APP.changeContent(message); de partout où vous voulez. J'espère que cela t'aides. : D

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top