2012-08-17 99 views
1

我无法找出项目的名称空间。在Javascript中访问兄弟命名空间,在SEAF中更改命名空间变量

我的命名空间看起来像这样迄今:

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?

回答

2

alert(data)更改为alert(this.data)

+0

为什么数据显示旧文本?疯狂... – 2012-08-17 01:05:32

+0

是啊,不知道,我会期待'undefined' – elclanrs 2012-08-17 01:25:09