1
我有以下模塊與jQuery Cookie的依賴關係。我如何去傳遞$ .cookie或jQuery.cookie到匿名函數中?現在,因爲我不傳遞任何它的失敗在我的控制檯與以下錯誤消息:如何在模塊定義中使用RequireJS需要jQuery Cookie?
Uncaught TypeError: Cannot call method 'cookie' of undefined
我的代碼如下所示:
define(['//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js', '//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.3.1/jquery.cookie.min.js'], function($) {
return function themeSwitcher(initTheme) {
var body = document.body,
main = document.querySelector('main'),
activeTheme = body.classList,
theme = document.querySelectorAll('.theme-switcher li');
if ($.cookie('userTheme')) {
$(body).removeClass(activeTheme[0])
$(body).addClass($.cookie('userTheme'));
} else {
$(body).addClass(initTheme);
}
for (var i = 0; i < theme.length; i++) {
theme[i].addEventListener('click', function(e) {
var userTheme = e.target.className;
if (!$.cookie('userTheme')) {
$.cookie('userTheme', userTheme, { expires: 7, path: '/' });
$(body).removeClass(activeTheme[0]);
$(body).addClass($.cookie('userTheme'));
} else {
$.removeCookie('userTheme');
$.cookie('userTheme', userTheme, { expires: 7, path: '/' });
$(body).removeClass(activeTheme[0]);
$(body).addClass($.cookie('userTheme'));
}
}, false);
}
}
});
我不應該將任何東西傳入兩個依賴項之一的匿名函數嗎? – Matt