我嘗試使用RequireJS和AMD模塊定義,並寫了一個模塊,以我認爲的對象格式執行我的任務。 (我從jQuery的去了,還沒有研究了OOP的JavaScript井)我如何可以有requirejs多個模塊實例
myModule.js
define([
jquery,
datepicker,
], function ($, datepicker) {
var myModule = {
debug: true,
lang: 'auto',
initModule: function (element) {
myModule.element = element;
},
// ... other methods
}
return myModule;
});
而且它工作得很好,但如果我嘗試使用它的多個元素/時間它覆蓋他自己,我不能在同一頁面多次使用它。
main.js
requirejs(['MyModule'],
function (MyModule) {
// all the elements on page
$elements = $('.element');
$elements.each(function() {
MyModule.initModule($(this));
});
});
當我有頁面上有多個<div class="element">
只有最後一個工作,我想因爲我的模塊覆蓋了他的自我。
我試圖添加new MyModule()
,但有一個錯誤TypeError: MyModule is not a constructor
我想我需要添加一個構造函數或別的東西,在任何情況下有我的模塊的實例,而不是使用對象(即我認爲是由requirejs預編譯並返回準備工作)。任何幫助都很好,非常感謝提前!