プロジェクトの名前空間を理解するのに問題があります。
これまでのところ、私の名前空間は次のようになっています。
var NS = NS || {};
NS.Utils = NS.Utils || {};
NS.Models = NS.Models || {};
NS.Views = NS.Views || {};
NS.App = (function () {
this.data = "hello";
var init = function () {
alert(data);
};
return {
data: this.data,
init: init,
};
} ());
そして、私はこれでそれを初期化します:
(function ($, global, data) {
$(global).click(function() {
NS.App.init();
});
NS.App.data = "hello testing";
NS.App.init();
}(jQuery, window, data));
しかし、何らかの理由で、2番目のNS.App.init()呼び出しは、更新されたNS.App.data変数を使用しません。どうすればこれを修正できますか?
また、NS.App内の他の名前空間を参照するにはどうすればよいですか?たとえば、NS.App内でNS.Utilsを使用したい場合はどうすればよいですか?