我在找出项目的命名空间时遇到了麻烦。
我的命名空间到目前为止看起来像这样:
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));
但由于某种原因,第二,NS.App.init()调用不使用更新的NS.App.data变量。我该如何解决这个问题?
另外,如何引用NS.App中的其他命名空间?例如,如果我想在NS.App中使用NS.Utils?
答案 0 :(得分:2)
将alert(data)
更改为alert(this.data)
。