之间更新的数据这是我第一次考虑requirejs。我一直在通过移植我的一个旧项目来做到这一点。到目前为止,它进展顺利。到现在。RequireJS:如何通过模块
我一直在做的是保持一个站点设置对象包括系统设置,如窗口高度,窗口宽度,文件的高度,scrollTop的等在那里,我更新了调整大小的值,然后滚动事件。这些都是我可以访问的全局变量。
例如(使用jQuery)
var mySettingsObject = {};
mySettingsObject.Init = function() {
this.winWidth = $(window).width();
$(window).resize(function(e) {
mySettingsObject.winWidth = $(window).width();
});
};
$(document).ready(function) {
mySettingsObject.Init();
});
现在我可以从任何功能随时调用mySettingsObject.winWidth访问该变量,它将始终是最新的。
什么我想了解的是我怎么能使用requirejs模块依赖具有相同的行为呢?
这是我的两个模块为例
define('system', function() {
// Window settings
var winWidth = $(window).width();
$(window).resize(function(e) {
winWidth = $(window).width();
}
return {
winWidth: winWidth
};
\t \t
});
// (is run on dom load)
define('myModule', ['system'], function(system) {
$(window).on('resize', function() {
if (system.winHeight === xyz) {
// do something
}
});
});
的system.winHeight按预期工作,给我窗口的高度,因为它是在DOM负荷。现在,如果我调整浏览器,我怎么能有Mymodule中,即内部变量更新本身我怎样才能使这两个模块进行通信。
你开始你的问题谈论宽度和结束谈论身高。你打算谈论整个宽度,不是吗? – Louis 2015-02-11 17:26:16
是的,我做了:)但是,宽度,高度,在这种情况下,它真的是一样的。 – Patrik 2015-02-11 19:37:38