使用requirejs在backbone.js中共享/使用全局变量

时间:2013-07-03 11:43:09

标签: backbone.js requirejs

我有一个变量说var tree。我想在两个文件中使用这个变量,比如a.js和b.js.Both文件改变变量tree的状态。我想在其他变量状态的文件中访问该变量。怎么可能?

1 个答案:

答案 0 :(得分:1)

有更优雅的方法,如评论中链接的问题所述,但最简单的方法是定义一个带有对象文字的RequireJS模块来保存共享状态:

define('sharedstuff', [], {tree: "original value"});

然后从其他模块中你可以要求它:

require(['sharedstuff'], function(sharedstuff) {
    sharedstuff.tree = "new value";
};

如果您需要另一个模块,RequireJS将不会重新加载新副本,而是会为您填充已填充的共享值的已加载版本:

require(['sharedstuff'], function(sharedstuff) {
    console.log(sharedstuff.tree) // should be "new value"
};