J'essaie de travailler avec la définition de module RequireJS et AMD et d'écrire un module qui fait mes choses au format objet je pense. (je suis allé de jquery et ont pas étudier un POO javascript bien)Comment puis-je avoir plusieurs instance de module avec requirejs
myModule.js
define([
jquery,
datepicker,
], function ($, datepicker) {
var myModule = {
debug: true,
lang: 'auto',
initModule: function (element) {
myModule.element = element;
},
// ... other methods
}
return myModule;
});
Et ça marche bien, mais si je tente de l'utiliser pour plus d'un des éléments/temps override lui-même, et je ne peux pas l'utiliser plus d'une fois dans la même page.
main.js
requirejs(['MyModule'],
function (MyModule) {
// all the elements on page
$elements = $('.element');
$elements.each(function() {
MyModule.initModule($(this));
});
});
Quand j'ai plus d'un <div class="element">
à la page que le dernier travail, je pense que mon module est lui substituer l'auto.
J'ai essayé d'ajouter new MyModule()
mais une erreur TypeError: MyModule is not a constructor
Je pense que je dois ajouter un constructeur ou quelque chose d'autre, en tout cas avoir une instance de mon module à utiliser au lieu de l'objet (que je pense sont précompilé par requirejs et retourné prêt pour le travail). Toute aide est bonne, merci d'avance!