私はのapp.jsとのutils.jsという2つのファイルをGulpを介してビルド時に一緒に連結しています。モジュールのパターンを表示、未定義のプロパティ
戻り値の中にapp.mapYear値を設定しようとすると、「未定義のgetUrlParamプロパティを読み取れません」というエラーが表示されます。
の設定機能の中にapp.mapYearが設定されているようです。私はなぜ私がapp.mapYear私のリターンステートメントに設定することができないのだろうかと思っています。
私はここで何かが欠けていますか?より良い方法がありますか?私は私のリターンでそれを行うことができれば、私のコード全体にわたってオブジェクトのプロパティを散発的に設定するのを避けることを望んでいます。
// app.js
//*****************
'use strict';
var app = app || {};
app = (function() {
const getMapYear =() => {
return app.utils.getUrlParam('year');
};
const mapYear = getMapYear();
const init =() => {
//init offcanvas menu
$(document).foundation();
// app.mapYear = mapYear();
};
return {
init,
mapYear
};
})();
$(function() {
app.init();
});
utils.js
//*****************
var app = app || {};
app.utils = (function() {
const getUrlParam =() => {
console.log(document.location.search);
return document.location.search;
}
return {
getUrlParam
};
})();
お時間をありがとうございました!
編集:同じ問題を抱えている人は、ここで回答があれば解決した方法があります。
コンパイルすると、utils.js
が先に続き、app.js
が続きます。
return {
init,
utils: app.utils,
mapYear: getMapYear()
};
を?なぜあなたは 'app'に新しいオブジェクトを上書きしていますか? –
私の謝罪、私はこれらのファイルが私のビルドプロセス中に一緒に連結されていることを忘れて、私はひどくJSを書く経験はありません。 – forcequitIO
@ ShatteredRib、あなたは私の答えで見ることができます。 –